Du darfst die Moc Datei nirgendwo inkludieren.
Du fügst die Headerdatei zu den Header innerhalb deiner .pro Datei ein.
Du führst "qmake" aus.
Du führst "make" aus.
Er kompiliert und du hast deine .exe. Es klingt danach das CodeBlocks noch einmal kompiliert, und das zweite mal schlägt fehl.
Vielen Dank für dein post, schein als hätten wir aneinander vorbeigechattet, wie man so schön sagt. Ich hab "make" dank deiner Hilfe zum laufen bekommen, es gibt keine Fehlermeldungen mehr, da ich die .pro Datei entsprechend verändert habe. Danach habe ich das Projekt NICHT noch einmal mit Code::Blocks übersetzt, um Fehler zu vermeiden. Wenn ich die .exe jetzt starte kommt allerdings wieder in der Konsole hinter dem Qt Fenster wieder folgene Nachricht:
Object::connect: No such slot MyWindow::quiet()
hmm...langsam gehen mir die Ideen aus, ich hoffe euch nicht. Ich bin jedoch schon sehr froh darüber, dass wir "make" zum laufen gebracht haben. Ich hoffe ihr helft mir weiterhin,es ist für mich echt wichtig, dass Qt läuft
mfg code_specialist
Dann geht doch jetzt wieder alles, also das kompilieren.
Die Fehlermeldung ist übrigens ok so, was erwartest du denn auch?
Weder QMainWindow, noch QWidget oder eines der sonstigen geerbten Klassen hat den Slot "quit", und du selbst definierst ihn nicht. Also versuchst du zu einen nicht existenten Slot zu verbinden, deswegen die Fehlermeldung.
Edit: Christian du bist zu langsam.
Zuletzt geändert von PeterLustig am 29. Mai 2008 17:51, insgesamt 1-mal geändert.
Zum zweiten mal - was willst Du? Es gibt keinen slot MyWindow::quit() (und quiet schon gar nicht) - und das sagt Dir Qt. Es gibt nur einen Slot QCoreApplication::quit() !
ersetzt. Danach wieder alles schön brav mit make übersetzt. Leider reagiert der "Beenden" Button immer noch nicht. Entschuldigt wenn ich schon wieder einen simplen Anfängerfehler begehe, aber ich bin in sachen Qt4 leider noch blutiger Anfänger.
Nun, connect verbindet 2 Objekte miteinander. Tritt bei dem ersten Objekt ein bestimmter Zustand ein (signal emitted), wird eine bestimmte Funktion aufgerufen(unter Qt als Slot bekannt).
Anderes Thema:
Es scheint, als wüsstest du woher die Fehler in meinem Quellcode kommen. Ich bitte dich darum, mir zu sagen wie das problematische connect Beispiel richtig aussehen sollte. Es würde mir sehr weiterhelfen,
mfg code_specialist
Der Empfänger ist bei dir immer noch MyWindow und nicht QCoreApplication::instance() und das Signal heisst immer noch quit() und nicht das was Du schreibst.
Vielen Dank für eure unzähligen Tipps, das hier ist ein tolles Forum. Ich hab den Code zum laufen bekommen. Die betroffene Zeile muss wie folgt aussehen: