Seite 1 von 1

QComboBox

Verfasst: Sonntag 5. Januar 2014, 21:52
von Peter1977
Hallo,

habe bei meinen Projekt verschiedene Comboboxen im Einsatz.

diese werden aus einer Datenbank befüllt dieses funktioniert auch
hier ein Beispiel:

Code: Alles auswählen

SQL_Statement="SELECT id_bezeichnung, bezeichnung FROM bh_bezeichnung ORDER BY bezeichnung;"
Result=DBConnect(SQL_Statement)
for Row in Result:
    self.combo_Bezeichnung.addItem(Row[1])
aber wie kann ich jetzt nicht sichtbar die ID eintragen und wieder auslesen?

Re: QComboBox

Verfasst: Sonntag 5. Januar 2014, 22:26
von Sirius3
Laut Docu hat »addItem« einen zusätzlichen Parameter für diesen Zweck:

Code: Alles auswählen

void	addItem ( const QString & text, const QVariant & userData = QVariant() );

Re: QComboBox

Verfasst: Montag 6. Januar 2014, 11:33
von Peter1977
Die ID wird in ein PyQt Combobox folgendermassen eingefügt

Code: Alles auswählen

SQL_Statement="SELECT id_bezeichnung, bezeichnung FROM bezeichnung ORDER BY bezeichnung;"
Result=DBConnect(SQL_Statement) # DBConnect eigene Funktion um sich mit DB zu verbinden und abzufragen

# Combobox füllen
for Row in Result:
    self.combo_Bezeichnung.addItem(Row[1],Row[0]) # Row[1]=Spalte Bezeichnung; Row[0]=Spalte ID_Bezeichnung
zum auslesen der gesetzten ID

Code: Alles auswählen

ID=self.combo_Bezeichnung.itemData(self.combo_Bezeichnung.currentIndex())
ab hier kann man dann mit der id weiterarbeiten.

mfg Peter