[gelöst] Problem beim Hinzufügen eines weiteren Signal-Slots
Verfasst: 25. September 2007 02:17
Hallo,
Ich habe mit meiner Studienarbeit angefangen QT für die Gestalltung von grafischen Oberflächen zu beginnen.
Hierzu verwende ich QT 4 mit Visual Studio Professional Edition.
Bis dato lief es auch mehr oder minder reibungslos. Habe auf einer Oberfläche mehrere weitere Oberflächen verlinkt, rufe mit verschiedensten Buttons verschiedenste andere Methoden (Slots) auf.
Nun wollte ich in dem Hauptfenster, welches sich direkt zu Beginn auftut noch einen neuen Button hinzufügen, mit welchen ich die Verbindung zum GPS-Modem aufbauen und trennen kann.
Die Klasse des Hauptfensters heißt MainWindow und liegt in den Dateien Window1.h und cpp.
In der Window1.h habe ich wie bei den anderen Slots auch
"void GPSSlot();" unter den "puplic slots:" eingebungen.
In der Window1.cpp ist ziemlich weit unten die Slot-Methode implementiert durch:
MainWindow::void GPSSlot()
{
... // Hier steht natürlich etwas mehr
}
und schließlich im Konstruktor der MainWindow steht neben den vielen anderen:
connect(pushButton_GPS, SIGNAL(clicked()), this, SLOT(GPSSlot()));
Ich kann es ohne Fehler kompilieren, jedoch steht dann direkt in der Kommando-Zeile folgender Fehler, welchen ich sonst lediglich kannte, wenn ich mich irgendwo beim Namen mal vertippt hatte (dieses Mal sind die Dateinamen allerdings kopiert!!!)
Object::connect: No such slot MainWindow::GPSSlot()
Object::connect: (sender name: 'm_action_GPS')
Object::connect: (receiver name: 'MainWindow')
Woran kann es liegen, dass er diesen Slot nun plötzlich nicht kennt?
In der moc_Window1.cpp ist dieser Slot leider unter:
int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
nicht aufgeführt. Es liegt doch nicht daran, dass 26 Slots pro Fenster das Maximum darstellen, oder?
Wäre um Hilfe wirklich dankbar.
Gruß
Mac
Ich habe mit meiner Studienarbeit angefangen QT für die Gestalltung von grafischen Oberflächen zu beginnen.
Hierzu verwende ich QT 4 mit Visual Studio Professional Edition.
Bis dato lief es auch mehr oder minder reibungslos. Habe auf einer Oberfläche mehrere weitere Oberflächen verlinkt, rufe mit verschiedensten Buttons verschiedenste andere Methoden (Slots) auf.
Nun wollte ich in dem Hauptfenster, welches sich direkt zu Beginn auftut noch einen neuen Button hinzufügen, mit welchen ich die Verbindung zum GPS-Modem aufbauen und trennen kann.
Die Klasse des Hauptfensters heißt MainWindow und liegt in den Dateien Window1.h und cpp.
In der Window1.h habe ich wie bei den anderen Slots auch
"void GPSSlot();" unter den "puplic slots:" eingebungen.
In der Window1.cpp ist ziemlich weit unten die Slot-Methode implementiert durch:
MainWindow::void GPSSlot()
{
... // Hier steht natürlich etwas mehr
}
und schließlich im Konstruktor der MainWindow steht neben den vielen anderen:
connect(pushButton_GPS, SIGNAL(clicked()), this, SLOT(GPSSlot()));
Ich kann es ohne Fehler kompilieren, jedoch steht dann direkt in der Kommando-Zeile folgender Fehler, welchen ich sonst lediglich kannte, wenn ich mich irgendwo beim Namen mal vertippt hatte (dieses Mal sind die Dateinamen allerdings kopiert!!!)
Object::connect: No such slot MainWindow::GPSSlot()
Object::connect: (sender name: 'm_action_GPS')
Object::connect: (receiver name: 'MainWindow')
Woran kann es liegen, dass er diesen Slot nun plötzlich nicht kennt?
In der moc_Window1.cpp ist dieser Slot leider unter:
int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
nicht aufgeführt. Es liegt doch nicht daran, dass 26 Slots pro Fenster das Maximum darstellen, oder?
Wäre um Hilfe wirklich dankbar.
Gruß
Mac