In pyqt wie füge ich items in eine combobox?
Brauche ich etwas Hilfe Sie Elemente hinzufügen, um eine combBox
.Also,ich habe zwei comboboxes,eine combobox
füllt der andere abhängig von dem ausgewählten Element.
Meine Frage ist, dass,mit additem
für neue Elemente,es funktioniert,aber wenn ich wählen Sie eine andere option für die combobox
es fügt die neuen Elemente, aber die vorherigen Gegenstände verschwunden sind,und es sind leere Elemente unter der neuen.
Dachte ich jedes mal, wenn ich wählen Sie eine neue option aus dem ersten combobox
,klar, der Inhalt des zweiten combobox
habe ich die clear()
auf den zweiten,aber es hat nicht funktioniert.
Das ist, wie ich dachte :
self.comboBox_2.clear()
for index,i in enumerate(list1):
self.comboBox_2.addItem(_fromUtf8(""))
self.comboBox_2.setItemText(index+2, QtGui.QApplication.translate("Dialog", i, None, QtGui.QApplication.UnicodeUTF8))
Oben ist ein Teil einer Funktion, die ausgeführt wird, wenn die erste combobox
änderungen.
InformationsquelleAutor der Frage GiannisIordanou | 2011-12-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt
list1
ist eine Liste von strings, dann können Sie einfach fügen Sie Sie alle auf einmal mit der addItems Methode:Beachten Sie, dass Sie wahrscheinlich mit
QApplication.translate
in die falsche Richtung in deinem Beispiel. Wenn Sie wollen, machen es möglich, die Saiten inlist1
zu werden, in eine andere Sprache übersetzt, sollte man das tun, wenn Sie erstellen auf die Liste, und verwenden Sie string-Literale.Beispiel:
Beachten Sie auch, dass die
_fromUtf8
Funktion ist nur dann wirklich nützlich, wenn Sie mit string-Literale, die nicht-ascii-Zeichen im code - sonst, es ist im Grunde ein no-op.BEARBEITEN
Wenn Ihre Liste enthält, sagen, Tupel von pixmaps und text, dann können Sie so etwas wie dieses:
InformationsquelleAutor der Antwort ekhumoro
Gibt es einige einfache und leicht zu Lesen demos/Beispiele hier
https://github.com/shuge/Enjoy-Qt-Python-Binding ,
Klonen und finden Sie eine demo zur Verwendung von basic
QComboBox
und benutzerdefinierte dessen Symbol Element.InformationsquelleAutor der Antwort Shuge Lee