zeigt eine QMessageBox PyQT, wenn ein anderes Combobox / Listenfeld Element ausgewählt ist
Frage
Ich habe ein Kombinationsfeld cbLayer
und eine Funktion do_stuff
der folgenden Form:
def do_stuff(item_selected_from_cbLayer):
new_list = []
# do stuff based on item_selected_from_combobox and put the items in new_list
return new_list
Wie kann ich ein QMessageBox
Pop-up, wenn ein anderes Element in der folgenden Form gewählt wird:
QMessageBox.warning(self, "items: ", do_stuff(cb_selected_item))
Lösung
Schreiben Sie eine Methode oder Funktion, die diesen Code enthält, und schließen Sie es an den Kombinationsfeldern signalisieren currentIndexChanged
:
def __init__(self):
...
QObject.connect(self.cbLayer, SIGNAL("currentIndexChanged(int)"), self.warn)
def warn(index):
QMessageBox.warning(self, "items: ", do_stuff(cbLayer.itemData(index)) )
def do_stuff(self, item):
QMessageBox.warning(self, str(item))
Ich habe nicht versucht, aber es sollte Ihnen den Einstieg. Sonst habe einen Blick auf die PyQt Beispiele.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow