Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Qt Designer, uitleg slots/signals  (gelezen 2388 keer)

Offline leendert

  • Lid
    • Dutchgimpers.nl
Qt Designer, uitleg slots/signals
« Gepost op: 2009/01/20, 09:05:34 »
Op aanraden van enkele medeforummers wil ik graag overstappen van WxPython naar PyQt.
Dus gisteravond heb ik qtdesigner geinstalleerd om er mee te gaan oefenen.
Het bevalt me wel, zeker dat je alle controls op een grid kan plaatsen, wat bij wxglade niet ging.
En het ziet er ook wat gelikter uit.

Maar het verhaal met die signals en slots snap ik nog niet helemaal.
Het lijkt alsof je altijd een verzender en een ontvanger moet aanwijzen. En ik snap niet waar ik mijn eigen code kan stoppen die uitgevoerd moet worden bij het klikken op een button.

Als ik bijvoorbeeld als er op button1 geklikt word een stukje code wil laten uitvoeren, zeg maar iets wegschrijven naar een tekstbestand, hoe doe ik die slots dan instellen?
Of als er op button2 geklikt word eerst een stukje code uitgevoerd moet worden en daarna pas iets getoond in een tekstveld.

Alvast bedankt voor de uitleg!

Re: Qt Designer, uitleg slots/signals
« Reactie #1 Gepost op: 2009/01/20, 10:31:20 »
Je moet volgens mij, ik ben zelf een leek met QT, het bestand exporteren naar een .ui, en dat gebruiken in je programma.

Offline leendert

  • Lid
    • Dutchgimpers.nl
Re: Qt Designer, uitleg slots/signals
« Reactie #2 Gepost op: 2009/01/20, 11:05:38 »
Je moet volgens mij, ik ben zelf een leek met QT, het bestand exporteren naar een .ui, en dat gebruiken in je programma.

Ik heb het over dit verhaal: http://doc.trolltech.com/4.3/designer-connection-mode.html

Offline profoX

  • Lid
    • wesley
    • Lionslink
Re: Qt Designer, uitleg slots/signals
« Reactie #3 Gepost op: 2009/01/20, 16:39:08 »
Hier is meer info: http://doc.trolltech.com/4.4/signalsandslots.html

Een korte samenvatting volgt:

Die signal/slot mode in de designer is eigenlijk alleen maar handig voor simpele verbindingen tussen 2 grafische elementen.
Voor uitgebreidere zaken zal je in je code zelf slots moeten schrijven.

Nu kan dit op twee manieren.
Voor beide manieren moet je eerst wel dit toepassen: http://doc.trolltech.com/4.4/designer-using-a-component.htm

Manier 1. Je stelt handmatig de verbinding in d.m.v. connect(ui.button1, SIGNAL(clicked()), this, SLOT(foobar()));
En je declareert dan in je .h file een "void foobar()" functie onder het kopje "public slots:"

Manier 2. Automatische connections, http://doc.trolltech.com/4.4/designer-using-a-component.html#automatic-connections
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

Offline leendert

  • Lid
    • Dutchgimpers.nl
Re: Qt Designer, uitleg slots/signals
« Reactie #4 Gepost op: 2009/01/23, 19:40:43 »
Hier is meer info: http://doc.trolltech.com/4.4/signalsandslots.html

Een korte samenvatting volgt:

Die signal/slot mode in de designer is eigenlijk alleen maar handig voor simpele verbindingen tussen 2 grafische elementen.
Voor uitgebreidere zaken zal je in je code zelf slots moeten schrijven.

Nu kan dit op twee manieren.
Voor beide manieren moet je eerst wel dit toepassen: http://doc.trolltech.com/4.4/designer-using-a-component.htm

Manier 1. Je stelt handmatig de verbinding in d.m.v. connect(ui.button1, SIGNAL(clicked()), this, SLOT(foobar()));
En je declareert dan in je .h file een "void foobar()" functie onder het kopje "public slots:"

Manier 2. Automatische connections, http://doc.trolltech.com/4.4/designer-using-a-component.html#automatic-connections

Pff, ik kom er echt niet uit :( Ik snap al niet wat ik nu vooraf al moet doen.
Wat dat betreft werkt WxGlade wel veel eenvoudiger, een druk op de knop en de python code word gegenereerd.

Zou iemand kort stap voor stap kunnen uitleggen wat ik nu precies moet doen?

Re: Qt Designer, uitleg slots/signals
« Reactie #5 Gepost op: 2009/01/23, 20:46:27 »
Google is the magic word.