Qt: Problem mit connect()
lima-city → Forum → Programmiersprachen → C/C++ und D
augenarzt
befehl
bessere beschreibung
code
ende
fehlerhafte zeile
fehlermeldung
fenster
glauben
gott
header
klammer vergessen
login
sagen
semikolon
signal
typisches login
url
wichtigen zeilen
zeile
-
Hallo. ;)
Ich weiß, die Überschrift ist nicht umbedingt passend, aber ich wüsste keine bessere Beschreibung. Ich habe jetzt angefangen, mal mit Hilfe des QtDesigners zu programmieren, da er mich ziemlich anspricht. ;) Ich habe einfach mal frei heraus ein typisches Login Fenster gebastelt: 2x QLineEdit und 1x QPushButton. ;)
Schön und gut, Objekte im Quelltext bekannt gemacht. Alles prima. Jetzt versuche ich, dass wenn man auf den QPushButton klickt, der Text auf demselben anders werden soll.
;) Viel rumprobiert, so ziemlich alle Fehlermeldungen beseitigt, nur eine will nicht ganz weg:
C:/Users/Robin/Documents/QtProjekte/Designer/Project/mainwindow.cpp:28: error: expected constructor, destructor, or type conversion before '(' token
Die wichtigen Zeilen dafür:
void MainWindow::onPushButtonClick() { pushButton_sumbit->setText("Login successful."); } MainWindow::connect(pushButton_sumbit, SIGNAL(clicked()), this, SIGNAL(onPushButtonClick());
pushButton_sumbit ist vorher deklariert und wird auch erkannt. . Die fehlerhafte Zeile ist die untere mit dem connect Befehl. Die onPushButtonClick-Methode ist vorher bereits in der Header Datei bekannt gemacht. Falls mehr Codeausschnitte von nöten sind, einfach bescheid sagen. ;)
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich habe zwar selber nie viel mit QT gemacht, aber irgendwie kommt mir folgendes unlogisch vor:
MainWindow::connect(pushButton_sumbit, SIGNAL(clicked()), this, SIGNAL(onPushButtonClick());
DU willst ein Signal auf ein weiteres verlinken? Ich würde es eher so machen:
MainWindow::connect(pushButton_sumbit, SIGNAL(clicked()), this, SLOT(onPushButtonClick());
Ansonsten rate ich immer dazu, erst mal mit einen Tutorial anzufangen, die gibts nicht umsonst dafür. Z.b. dieses hier:
http://de.wikibooks.org/wiki/Qt_f%C3%BCr_C%2B%2B-Anf%C3%A4nger -
Ich hab ein Tutorial gelesen. ;) Deswegen bin ich so verwundert. Das mti dem Signal war eigentlich beabsichtig. Aber auch eine Änderung auf Slot bringt mich auf dieselbe Fehlermeldung. :S
-
du hast eine schließende klammer [die da -> )] zu wenig
richtig wäre:
MainWindow::connect(pushButton_sumbit, SIGNAL(clicked()), this, SLOT(onPushButtonClick()));
mfg -
syberpsace schrieb:
du hast eine schließende klammer [die da -> )] zu wenig
richtig wäre:
MainWindow::connect(pushButton_sumbit, SIGNAL(clicked()), this, SLOT(onPushButtonClick()));
mfg
Gib ich dir Recht. Stimmt. Ändert trotzdem nichts an der Fehlermeldung. Ich denke das Problem liegt immer noch vorne, und da dort eine Fehlermeldung ist blockt er direkt die ganze Zeile.
nikic schrieb: Könntest du noch sagen, was davon die Zeile 28 ist?
Sorry. :S Die untere. MainWindow::connect. usw. -
ich schätze mal du hast eine klammer vergessen... ganz am ende vor dem semikolon...
ansonsten ist es jetzt richtig mit dem SLOT anstelle des SIGNALS :-)
SIGNAL mit zu connecten SIGNAL ist uncool
uuuuups, einbisschen spät... sorry, hatte die letzten beiden einträge irgendwie
übersehen... muss mal zum augenarzt glaube ich...
Achso: sag mal wo führst du diese zeile den aus?? sollte man die nicht irgendwo
z.b. in einem konstruktor ausführen? dann brauchst du auch das "MainWindow::"
davor nicht :-)
Beitrag zuletzt geändert: 20.4.2010 19:40:33 von tangoal -
tangoal schrieb:
ich schätze mal du hast eine klammer vergessen... ganz am ende vor dem semikolon...
ansonsten ist es jetzt richtig mit dem SLOT anstelle des SIGNALS :-)
SIGNAL mit zu connecten SIGNAL ist uncool
uuuuups, einbisschen spät... sorry, hatte die letzten beiden einträge irgendwie
übersehen... muss mal zum augenarzt glaube ich...
Achso: sag mal wo führst du diese zeile den aus?? sollte man die nicht irgendwo
z.b. in einem konstruktor ausführen? dann brauchst du auch das "MainWindow::"
davor nicht :-)
Du bist mein Gott. ;) Ich habs ins
MainWindow::MainWindow
{
Bla
}
gepackt. Und es läuft. ;) Und stimmt, ich hab ja schon zugegeben. ;D ICh wollte Slot benutzen. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage