Seite 1 von 1

Frage zu Signal/Slot

Verfasst: Mittwoch 5. Januar 2011, 15:46
von Friedericus
Hallo ihr Lieben,

ich hätt da ein Problemchen und hoff dass ihr mir helfen könnt:

ich hab eine GUI gebaut, die auch wunderbar funktioniert.
Folgende Stelle macht mir aber noch probleme:

Code: Alles auswählen

self.connect(okButton, QtCore.SIGNAL('clicked()'), server.start())
hinter server.start befindet sich eine Serverklasse, mit den entsprechenden Parametern.
wenn ich jetzt die GUI jedoch starte, dann wird die GUI mir nicht angezeigt, sondern eben sofort dieser Server gestartet. Jetzt soll er aber eben erst dann gestartet werden, wenn ich den 'OK' Button anklicke.

Wenn ich server.start durch z.B. 'close()' ersetze, läuft alles einwandfrei.

Liegt das evtl. daran, dass die Anweisung im Konstruktor steckt?

Re: Frage zu Signal/Slot

Verfasst: Mittwoch 5. Januar 2011, 15:59
von lunar
"server.start()" – beachte die Klammern – führt die Methode ".start()" sofort aus, und verbindet das Signal dann mit dem Rückgabewert dieser Methode (was meistens vollkommen unsinnig ist). Du darfst nicht das Ergebnis eines Methodenaufrufs übergeben, sondern nur die Methode selbst:

Code: Alles auswählen

okButton.clicked.connect(server.start)