signal-slot-verbindung funktioniert nicht
Verfasst: 27. Dezember 2009 14:55
Hallo,
ich bin gerade an meinem ersten größeren qt-projekt:
das strategiespiel risiko
das konsolenprogramm ist schon fertig
jetzt wollte ich es grafisch programmieren, da es in der konsole zwar spielbar ist, jedoch jeglichen spaß unnterbindet...
hier mein problem:
es sind drei klassen vorhanden: grafik, eingabe, risiko
alle drei klassen sind von QWidget abgeleitet.
in der main wird ein objekt spielfeld von grafik aufgerufen, spielfeld ruft ein objekt eingabefeld von eingabe auf und eingabefeld ruft ein objekt spiel von risiko auf.
eingabe hat einen button fertig, bei dessen SIGNAL(clicked()) der SLOT(slot_spielerwechsel()) aufgerufen werden soll, welcher in der klasse eingabe definiert ist.
in der main steht folgendes:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
grafik *spielfeld = new grafik;
spielfeld->eingabefeld->start();
QObject::connect(spielfeld->eingabefeld->fertig, SIGNAL(clicked), spielfeld->eingabefeld, SLOT(slot_spielerwechsel()));
spielfeld->show();
return app.exec();
}
weshalb geschieht nichts, wenn ich auf den button fertig klicke?
compiler(gcc)-meldung(während der laufzeit):
Object::connect: Parentheses expected, signal QPushButton::clicked
ich bin gerade an meinem ersten größeren qt-projekt:
das strategiespiel risiko
das konsolenprogramm ist schon fertig
jetzt wollte ich es grafisch programmieren, da es in der konsole zwar spielbar ist, jedoch jeglichen spaß unnterbindet...
hier mein problem:
es sind drei klassen vorhanden: grafik, eingabe, risiko
alle drei klassen sind von QWidget abgeleitet.
in der main wird ein objekt spielfeld von grafik aufgerufen, spielfeld ruft ein objekt eingabefeld von eingabe auf und eingabefeld ruft ein objekt spiel von risiko auf.
eingabe hat einen button fertig, bei dessen SIGNAL(clicked()) der SLOT(slot_spielerwechsel()) aufgerufen werden soll, welcher in der klasse eingabe definiert ist.
in der main steht folgendes:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
grafik *spielfeld = new grafik;
spielfeld->eingabefeld->start();
QObject::connect(spielfeld->eingabefeld->fertig, SIGNAL(clicked), spielfeld->eingabefeld, SLOT(slot_spielerwechsel()));
spielfeld->show();
return app.exec();
}
weshalb geschieht nichts, wenn ich auf den button fertig klicke?
compiler(gcc)-meldung(während der laufzeit):
Object::connect: Parentheses expected, signal QPushButton::clicked