Seite 1 von 1

QWizard - Signale und Slots bei Standardbuttons

Verfasst: Dienstag 23. Oktober 2012, 17:33
von Seires
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!

Re: QWizard - Signale und Slots bei Standardbuttons

Verfasst: Dienstag 23. Oktober 2012, 18:06
von BlackJack
@Seires: Einfach eine Funktion oder Methode als Slot nehmen.

Re: QWizard - Signale und Slots bei Standardbuttons

Verfasst: Sonntag 18. November 2012, 03:19
von AngelusNoctis
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()