SIGNAL(), SLOT() - warum gleiche Parameter? (Anfängerfrage)
Verfasst: 21. Februar 2007 17:41
Hallo erstmal an alle, bin ganz neu hier.
Ich hab mir das Buch "C++ GUI Programmierung mit QT4" gekauft.
In diesem gibt es folgendes Codebeispiel:
Ich hab das ein bisschen modifiziert und folgendes ist dabei rausgekommen:
Wenn ich das nun kompiliere, ausführe und auf den titelButton klicke, passiert nix. Eigentlich sollte das Fenster nun die Überschrift "neuer Titel" haben.
Ich habe auch andere Methoden ausprobiert, z.B. die Fenstergröße zu ändern, oder den Text des quitButtons zu ändern, aber nichts hat funktioniert.
Dann hab ich in folgendem Tutorial gelesen, dass die SIGNAL Methode und die SLOT Methode jeweils den gleichen Parameter haben müssen.
Stimmt das und funktioniert mein Beispiel deshalb nicht, oder liegt es (auch noch) an etwas anderem?
Falls es daran liegt, was kann ich tun, damit es trotzdem funktioniert, ohne große Umwege gehen zu müssen?
Achja, falls ihr noch mehr Infos braucht, lasst es mich wissen.
Bitte helft einem verzweifelten Neuling. >.<
Greets, valenterry.
Ich hab mir das Buch "C++ GUI Programmierung mit QT4" gekauft.
In diesem gibt es folgendes Codebeispiel:
Code: Alles auswählen
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton *button = new QPushButton("Quit");
QObject::connect(button, SIGNAL(clicked()),
&app, SLOT(quit()));
button->show();
return app.exec();
}
Code: Alles auswählen
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget *mainWindow = new QWidget;
mainwindow->setWindowTitle("erster Titel");
QPushButton *quitButton = new QPushButton("Beenden");
QPushButton *titelButton = new QPushButton("Titel aendern");
QObject::connect(quitButton, SIGNAL(clicked()),
&app, SLOT(quit()));
QObject::connect(titelButton, SIGNAL(clicked()),
mainwindow, SLOT(setWindowTitle("neuer Titel")));
mainwindow->show();
return app.exec();
}
Ich habe auch andere Methoden ausprobiert, z.B. die Fenstergröße zu ändern, oder den Text des quitButtons zu ändern, aber nichts hat funktioniert.
Dann hab ich in folgendem Tutorial gelesen, dass die SIGNAL Methode und die SLOT Methode jeweils den gleichen Parameter haben müssen.
Stimmt das und funktioniert mein Beispiel deshalb nicht, oder liegt es (auch noch) an etwas anderem?
Falls es daran liegt, was kann ich tun, damit es trotzdem funktioniert, ohne große Umwege gehen zu müssen?
Achja, falls ihr noch mehr Infos braucht, lasst es mich wissen.
Bitte helft einem verzweifelten Neuling. >.<
Greets, valenterry.