QWizard - Signale und Slots bei Standardbuttons

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Seires
User
Beiträge: 12
Registriert: Samstag 18. August 2012, 08:33

Hey,

ich bin grade dabei, einen Assistenten mit HIlfe von QWizard zu erstellen. Zwar klappt die Erstellung des Assistenten selbst prima, aber ich habe es noch nicht geschafft, im Assistenten festgesetzte Werte an das Hauptprogramm zu übertragen.

Meine Idee war es, dass bei einem Klick auf den "Next"-Button die eingetragenen Werte durch eine entsprechende Funktion in eine Liste übertragen werden (ganz wie bei jedem anderen Button auch, via Signal & Slot).
Leider verstehe ich nicht, wie ich einen solchen Slot erstellen kann.

Weiß da jemand Rat? Vielen Dank für eure Hilfe!
BlackJack

@Seires: Einfach eine Funktion oder Methode als Slot nehmen.
AngelusNoctis
User
Beiträge: 92
Registriert: Sonntag 16. Dezember 2007, 20:03

Seires hat geschrieben:Hey,

ich bin grade dabei, einen Assistenten mit HIlfe von QWizard zu erstellen. Zwar klappt die Erstellung des Assistenten selbst prima, aber ich habe es noch nicht geschafft, im Assistenten festgesetzte Werte an das Hauptprogramm zu übertragen.

Meine Idee war es, dass bei einem Klick auf den "Next"-Button die eingetragenen Werte durch eine entsprechende Funktion in eine Liste übertragen werden (ganz wie bei jedem anderen Button auch, via Signal & Slot).
Leider verstehe ich nicht, wie ich einen solchen Slot erstellen kann.

Weiß da jemand Rat? Vielen Dank für eure Hilfe!
In nem Wizard kannst du "registerField" und "Field" nutzen genau für solche Situationen.

Hast du auf Seite 1 z.B. ein QLineEdit auf das du am Ende zugreifen willst, kannst du es mit registerFiel('Ansprechname', Widget') registieren und am Ende mit self.fields('Ansprechname') auslesen oder an das Hauptprogramm zurückgeben.

http://doc.qt.digia.com/qt/qwizard.html ... ing-fields


Beispiel:

Code: Alles auswählen

# z.B. Seite 1 des Wizards

name = QtGui.QLineEdit(self)
self.registerField('Name*', name)

''' Fiktive Seite
2
3
4
'''

# z.B Seite 5 bzw Finish Seite des Wizards

self.field('Name').toString()
Antworten