Signals und Slots

Alles rund um die Programmierung mit Qt
Antworten
TerraG
Beiträge: 81
Registriert: 13. Oktober 2011 15:23

Signals und Slots

Beitrag von TerraG »

Hi,

wo kann ich denn nachschauen was die einzelnen Slotmethoden für eine Wirkung haben?

Ich würde gerne bei Klick auf einige PushButtons andere Widgets (u.a. auch PushButtons) unbrauchbar machen, d.h. dass diese nicht mehr anzuklicken sind und eventuell die Farbe wechselt, in QlineEdits oder doubleSpinBoxes sollte hingegen keine Eingabe mehr möglich sein.

Allgemein würde ich aber gerne wissen wo ich nachschauen kann was die einzelnen Slotmethoden für Wirkungen haben?
Gruß
TerraG
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Signals und Slots

Beitrag von Christian81 »

MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
TerraG
Beiträge: 81
Registriert: 13. Oktober 2011 15:23

Re: Signals und Slots

Beitrag von TerraG »

Hi, danke. Hätte ich wohl auch selbst finden können :). Die Seite All Functions find ich sehr gut, da man hier einfach nach der entsprechenden Methode suchen kann.


Was ich etwas seltsam finde ist folgendes:

Ich hab einen QpushButton mit einem anderen über das Signal clicked(bool) verbunden. Der Slot sollte dann eigentlich setDisabled() sein ---> Hatte aber keine Wirkung. Jetzt hab ich den SLot auf setEnabled() gewechselt und siehe da der EmpfängerButton wird disabled. Wieso ist das eigentlich?
Gruß
TerraG
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: Signals und Slots

Beitrag von franzf »

Dann schaut man in die Doku.
clicked() hat nen Parameter, der aber NICHT signalisiert, ob geclickt wurde oder nicht, sondern wie der click den checkstate verändert hat. Ist der Button nicht checkable kommt eben beim clicked() immer ein false mit. Wenn du das false an setDisabled() weiter gibst, macht der SLOT den Button nicht disabled, also enabled.
TerraG
Beiträge: 81
Registriert: 13. Oktober 2011 15:23

Re: Signals und Slots

Beitrag von TerraG »

Ich hatte mir halt gedacht, dass wenn der Button geklickt wurde clicked(bool) ein true an die Methode setdisable(bool) übergeben wird und damit das andere Widget disabled wird. Wie Du sagst, ist es dann wohl doch etwas anders strukturier :).
Gruß
TerraG
Antworten