Creator, Designer, Slots

Alles zu Entwicklungsumgebungen und Editoren für Qt
Antworten
skoehler
Beiträge: 12
Registriert: 24. Mai 2006 13:01
Wohnort: Jena

Creator, Designer, Slots

Beitrag von skoehler »

Seit einiger Zeit verwende ich den Qt-Creator. Jetzt habe ich ein Verständnisproblem bei der aktuellen Umsetzung des Signal-Slot Konzepts.

Ich habe ein Design mit einem Button, auf dessen clicked()-Signal möchte ich reagieren. Dazu verbinde ich im "Signal-Slot-Modus (F4)" des Designers den Button mit dem Hintergrund (es erscheint so ein Erdungszeichen).

Danach kann ich im Verbindungseditor einen Slot namentlich hinzufügen und ihn mit dem clicked()-Signal verbinden. Sehr schön.

Aber wieso erscheint die Slot-Methode nicht in meiner Header-Datei? Muss man tatsächlich die eine Methode von Hand dreimal anlegen (Designer, Header- und C++-Datei)?.
padreigh
Beiträge: 340
Registriert: 13. Mai 2010 10:06

Beitrag von padreigh »

ich würde jetzt mal vermuten das sowohl connect als auch slot in der gemoc'ten Datei landen ... ansonsten könntest du dir connects sparen und auf den Autoconnectmechanismus zurückgreifen:

void on_myButtonName_clicked(bool pressed)
{
// mach hier was passieren soll wenn der Button geklickt wird
}

die Methodenbennenung ist wichtig, dadurch wird der autoconnect hergestellt:

http://doc.qt.nokia.com/latest/designer ... onnections
Patrick (QtCreator 1.3.1, Qt 4.6.3)
---
template = subdirs
skoehler
Beiträge: 12
Registriert: 24. Mai 2006 13:01
Wohnort: Jena

Beitrag von skoehler »

Habe mich wohl etwas undeutlich ausgedrückt. Ich habe erwartet, dass der QtCreator alles für mich macht. Insbesondere die Einträge in der
Header und eventuell auch der CPP-Datei und im weiteren Softwareleben diese Beziehung zwischen UI, Header und CPP-Datei für mich verwaltet. In der VisualStudio-Integration kann man z.B. durch Doppelklick auf einen Button diese Methode on_myBtn_clicked() für den AutoConnect erstellen lassen.

Habe ich noch nicht den richtigen Punkt gefunden oder geht es nicht?
padreigh
Beiträge: 340
Registriert: 13. Mai 2010 10:06

Beitrag von padreigh »

Ich benutz noch 1.3.1 und der kann das nicht. Allerdings benutz ich selten den Designer ;) Ich habe anderswo gehört das zB KDevelop dies auch so macht.
Patrick (QtCreator 1.3.1, Qt 4.6.3)
---
template = subdirs
Antworten