Frage

Ich habe 2 QComboBoxes umgesetzt mit einem mit Artikel manuell jedes Mal, und ein anderes eingefügten Elemente mit einer Liste eingefügt ist (ich bin mit Python)

Aber wenn ich den aktuellen Wert der Combobox zu bekommen versuchen, es gibt Keine . Ich ging in dieser Frage wie angegeben: I bezeichnet diese Ich habe vorgesehen wat i codiert habe. „Befehl“ und „Option“ ist QComboBoxes (Pardon für schlechten Stil) Gibt es einen Fehler in Indizes?

    self.command.insertItem(1,'Convert')
    self.command.insertItem(2,'Compose')
    self.command.insertItem(3,'Animate')


    self.option.insertItems(268,list)

und Retrieval:
self.selected_com=self.command.itemData(self.command.currentIndex()) self.selected_opt=self.option.itemData(self.option.currentIndex())

War es hilfreich?

Lösung

Sie haben keinen aktuellen Eintrag in den Kombinationsfeldern ausgewählt. Wenn es kein aktuelles Element ist und der Einsatz ein neues Element mit insertItem, es ist nicht automatisch als aktuelle ausgewählt. Sie wollen wahrscheinlich self.command.setCurrentIndex(1) und self.option.setCurrentIndex(1) nennen.

Aus der Dokumentation über currentIndex():

In der Standardeinstellung für ein leeres Kombinationsfeld oder ein Kombinationsfeld, in dem kein Strom Artikel gesetzt ist, hat diese Eigenschaft einen Wert von -1.

Aus der Dokumentation über itemData():

Gibt die Daten für die jeweilige Rolle in der gegebene Index in der Combobox, oder QVariant :: ungültig, wenn es keine Daten für diese Rolle.

Aus der Dokumentation von PyQt:

Jeder kann Python-Objekt verwendet werden, wenn ein QVariant erwartet. Keiner wird interpretiert als eine ungültige QVariant.

Andere Tipps

Sie können diesen Code verwenden, um aktuelle Daten aus comboBox holen:

QString qualification=ui->comboBox->currentText();
QDebug()<<qualification;
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top