Habe ein Formular mit pyqt erstellt was mir daten aus einer Datenbank anzeigt.
mittels eines Buttons wird ein weiteres Fenster geöffnet
wo Daten eingegeben werden können.
Bei betätigen eines Buttons im zweiten Fenster
werden die Daten in die DB eingetragen und es soll die Tabelle im ersten Fenster aktualisiert werden.
Code: Alles auswählen
class konten(QtGui.QDialog):
def __init__(self, *args):
QtGui.QDialog.__init__(self, *args)
uic.loadUi("gui/bh_konten.ui",self)
self.tbl_konten.horizontalHeader().resizeSection(0,0) # Id
self.tbl_konten.horizontalHeader().resizeSection(1,450) # Kontoname
self.tbl_konten.horizontalHeader().resizeSection(2,350) # Iban
self.tbl_konten.horizontalHeader().resizeSection(3,180) # Bic
self.tbl_konten.horizontalHeader().resizeSection(4,160) # Kontostand
self.btn_neu.clicked.connect(self.konto_neu_fenster)
self.btn_update.clicked.connect(self.konto_fuellen)
self.konto_fuellen()
#self.connect(self, SIGNAL('send()'),self,SLOT('konto_reset()'))
def send(self):
print ('Sende Signal Erhalten')
self.konto_fuellen()
self.emit(SIGNAL('send()'))
# #self.Sig.emit()
@pyqtSignature('konto_fuellen()')
def konto_fuellen(self):
print (' ')
print ('Konto Fuellen')
#self.tbl_konten.clear()
SQL_Statement="SELECT id,bezeichnung,iban,bic,kontostand FROM bh_konten ORDER BY iban;"
SQL_Result=db.DBConnect(SQL_Statement)
print (' ')
print ('SQL: ' + SQL_Statement)
self.tbl_konten.setRowCount(len(SQL_Result))
print (' ')
print ('Länge: ' + str(len(SQL_Result)))
Guthaben=0
for Zeile,ROW in enumerate(SQL_Result):
print ('Zeile: ', Zeile)
self.tbl_konten.setItem(Zeile,0,QtGui.QTableWidgetItem(str(ROW[0]))) # ID
self.tbl_konten.setItem(Zeile,1,QtGui.QTableWidgetItem(str(ROW[1]))) # Bezeichnung
self.tbl_konten.setItem(Zeile,2,QtGui.QTableWidgetItem(str(ROW[2]))) # Iban
self.tbl_konten.setItem(Zeile,3,QtGui.QTableWidgetItem(str(ROW[3]))) # BIC
self.tbl_konten.setItem(Zeile,4,QtGui.QTableWidgetItem(str(ROW[4]))) # Kontostand
self.tbl_konten.item(Zeile,4).setTextAlignment(QtCore.Qt.AlignRight + QtCore.Qt.AlignVCenter)
Guthaben=Guthaben + Decimal(ROW[4])
print (' ')
print ('Ende Konto Fuellen')
self.lbl_gesamtsumme.setText("Gesamt Vermögen: " + str(Guthaben))
def konto_neu_fenster(self):
self.Window=konto_neu()
self.Window.show()
class konto_neu(QtGui.QDialog):
def __init__(self,*args):
QtGui.QDialog.__init__(self, *args)
uic.loadUi("gui/bh_konten_anlegen.ui",self)
self.btn_anlegen.clicked.connect(self.anlegen)
def anlegen(self):
Kontoname=self.txt_kontoname.text()
Iban=self.txt_iban.text()
Bic=self.txt_bic.text()
Guthaben=self.txt_guthaben.text()
SQL_Statement="INSERT INTO bh_konten (bezeichnung,iban,bic,kontostand) VALUES ('%s','%s','%s',%10.2lf);" %(str(Kontoname),str(Iban),str(Bic),Decimal(Guthaben))
Result=db.DBConnect(SQL_Statement)
func_konto_fuellen=konten()
func_konto_fuellen.send()
self.close()
mfg Peter