Signals definieren bzw. nutzen
Verfasst: 12. Dezember 2008 15:19
Hallo!
Ich habe ein ganz einfaches Fensterchen mit Designer erstellt (Qt 4.4.3 OS) unter Windows. Es dient mir lediglich dazu, herauszufinden, wie man mit QT4 mit Signals und Slots bzw. Memberfunktionen von Fenstern umgeht.
Ich kann wunderbar existierende Signals und Slots von Elementen in meinem Fester verbinden. Der UIC erzeugt die verschiedenen Verbindungen und die funktionieren zur Laufzeit auch.
Jetzt habe ich aber in meinem Fester selbst (im Designer) ein Testsignal und einen Testslot angelegt. Die Verbindungen, die ich im Designer dafür definiert habe, legt der UIC im Code auch an. Aber er legt keine Signals an. Wenn ich mir Beispiele für vom UIC erzeugte Dateien anschaue, dann enthalten sie auch die Signal-Deklaration, meine aber nicht.
Was mache ich falsch?
Kann mir jemand erklären, wie das ganze Konstrukt aus diesen Designer-generierten Ui-"Templates" zur Erzeugung von Fenstern und deren Setup mit setupUi funktionieren soll? Die Tutorials bzw. Doku sind hier alles andere als hilfreich.
Insbesondere würde mich interessieren, wo ich Member-Funktionen von Fenstern erzeugen kann, so dass diese erhalten bleiben bei erneutem UIC-Aufruf. Meine Idee war, (durch irgendeine Seite in der Doku inspiriert), eine Klasse von sowohl einer Qt-Fensterklasse als auch von der Designer-erzeugten Ui::-Klasse abzuleiten und im Konstruktor setpUI aufzurufen. Das kompiliert, macht aber dann in dem Moment Probleme, wo ich das Q_OBJECT-Macro einbinde, dann bekomme ich Linker-Errors mit metaobject-Meldungen, abwohl ich alle wichtigen libs einbinde. Was mich auch sehr wundert, ist dass der moc leere .cpp-Dateien erzeugt. Das bin ich aus alten Versionen anderes gewohnt.
Hat jemand eine Idee?
Vielen Dank!
Ich habe ein ganz einfaches Fensterchen mit Designer erstellt (Qt 4.4.3 OS) unter Windows. Es dient mir lediglich dazu, herauszufinden, wie man mit QT4 mit Signals und Slots bzw. Memberfunktionen von Fenstern umgeht.
Ich kann wunderbar existierende Signals und Slots von Elementen in meinem Fester verbinden. Der UIC erzeugt die verschiedenen Verbindungen und die funktionieren zur Laufzeit auch.
Jetzt habe ich aber in meinem Fester selbst (im Designer) ein Testsignal und einen Testslot angelegt. Die Verbindungen, die ich im Designer dafür definiert habe, legt der UIC im Code auch an. Aber er legt keine Signals an. Wenn ich mir Beispiele für vom UIC erzeugte Dateien anschaue, dann enthalten sie auch die Signal-Deklaration, meine aber nicht.
Was mache ich falsch?
Kann mir jemand erklären, wie das ganze Konstrukt aus diesen Designer-generierten Ui-"Templates" zur Erzeugung von Fenstern und deren Setup mit setupUi funktionieren soll? Die Tutorials bzw. Doku sind hier alles andere als hilfreich.
Insbesondere würde mich interessieren, wo ich Member-Funktionen von Fenstern erzeugen kann, so dass diese erhalten bleiben bei erneutem UIC-Aufruf. Meine Idee war, (durch irgendeine Seite in der Doku inspiriert), eine Klasse von sowohl einer Qt-Fensterklasse als auch von der Designer-erzeugten Ui::-Klasse abzuleiten und im Konstruktor setpUI aufzurufen. Das kompiliert, macht aber dann in dem Moment Probleme, wo ich das Q_OBJECT-Macro einbinde, dann bekomme ich Linker-Errors mit metaobject-Meldungen, abwohl ich alle wichtigen libs einbinde. Was mich auch sehr wundert, ist dass der moc leere .cpp-Dateien erzeugt. Das bin ich aus alten Versionen anderes gewohnt.
Hat jemand eine Idee?
Vielen Dank!