Seite 1 von 1

QComboBox nutzen um Variablen zu setzen

Verfasst: Freitag 1. Juli 2011, 14:55
von AlphaX2
Hallo Leute,

also ich bin noch Anfänger und ich habe ein kleines Programm geschrieben, dabei wird die Oberfläche mit einem ui File zur Laufzeit geladen.
Das Problem ist, dass ich eine QComboBox mit zwei Einträgen habe (Deutschland und Schweiz/Österreich), je nach Auswahl soll nun eine Variable gesetzt werden. Die Box heißt laender_box. Allerdings weiß ich nicht wie das geht, die Box mit der de_nums() Funktion zu verbinden.

im Moment habe ich folgendes, weiß aber nicht weiter:

Code: Alles auswählen

self.ui.laender_box.???.connect(self, de_nums)
Mir fehlt also quasi ein kleines Stück Code, bei einem QLabel wäre es ja bspw. setText("BLA") - was muss ich für die QComboBox nehmen?! Oder Alternativ, wie kann ich eine Variable setzen?!

Danke schonmal.

AlphaX2

Re: QComboBox nutzen um Variablen zu setzen

Verfasst: Freitag 1. Juli 2011, 14:58
von Xynon1
Ein Blick in die Dokumentation sollte eigentlich genügen :wink:

Re: QComboBox nutzen um Variablen zu setzen

Verfasst: Freitag 1. Juli 2011, 15:13
von AlphaX2
Hi,

hab ich leider nicht dazu geschrieben ich hab schon mit activated() und highlighted() experimentiert, aber wenn ich den Text richtig verstehe soll man die Index Position als integer übergeben - sprich einfach nur 1 bzw. 2, oder?!

Weil wenn ich das probiere komme ich immer zu folgendem Ergebnis:

Code: Alles auswählen

self.ui.laender_box.activated(1).connect(self, de_nums)		
TypeError: native Qt signal is not callable
AlphaX2

Re: QComboBox nutzen um Variablen zu setzen

Verfasst: Freitag 1. Juli 2011, 15:20
von BlackJack
@AlphaX2: Da hast Du den Text und Signals/Slots falsch verstanden. Du kannst den Index doch gar nicht angeben — den sucht der Benutzer doch zur Laufzeit aus, in dem er die ComboBox in der GUI benutzt. Die Funktion, mit der Du das Signal verbindest, muss den Index, den der Benutzer ausgewählt hat, als Argument erwarten.

Re: QComboBox nutzen um Variablen zu setzen

Verfasst: Freitag 1. Juli 2011, 15:57
von AlphaX2
Was!? Ich hab gedacht ich würde das so in dem Sinne angeben: Eintrag 1 löst Funktion A aus Eintrag 2 löst Funktion B aus.

Aber jetzt weiß ich gleich gar nicht mehr was ich da machen soll. :cry:
Gibts irgendwo ein Beispiel oder so, also ein Python Code?!

EDIT: Ich habs nochmal gelesen und ein Beispiel gefunden und jetz so gelöst:

Code: Alles auswählen

self.ui.laender_box.activated.connect(self.sprache)
Trotzdem Danke!

AlphaX2

Re: QComboBox nutzen um Variablen zu setzen

Verfasst: Freitag 1. Juli 2011, 16:03
von BlackJack
In der Dokumentation gibt es auch Quelltext: New-style Signal and Slot Support.