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)?.
Creator, Designer, Slots
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
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
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?
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?