Problem mit connect(...)

Alles rund um die Programmierung mit Qt
Antworten
devcube
Beiträge: 16
Registriert: 2. Januar 2009 16:28

Problem mit connect(...)

Beitrag von devcube »

Hallo,


ich bin neu in der Qt-Welt und habe folgendes Problem:

Ich habe einen PushButton mit folgendem Code "klickbar" gemacht:

Code: Alles auswählen

connect(sucheButton, SIGNAL(clicked()), this, SLOT(suche()));
Doch wenn ich auf den Button klicke, passiert nichts.
Code von suche():

Code: Alles auswählen

bool MyApp::suche()
{
  pageWebView->load(QUrl("http://google.de"));
}
Was habe ich da falsch gemacht?


mfg devcube
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Wie sieht der Return-Wert vom connect aus? Was gibt es für Fehlermeldungen auf der Konsole? Wurde die Methode suche() als Slot markiert?
devcube
Beiträge: 16
Registriert: 2. Januar 2009 16:28

Beitrag von devcube »

Wie kann ich den return-Wert und die Fehlermeldung der Konsole ansehen?

Die Methode Suche wurde als Slot markiert:

Code: Alles auswählen

private slots:
        bool suche();
Ich benutze Qt in Verbindung mit Dev-C++ und habe es nach dieser Anleitung eingerichtet: http://www.c-plusplus.de/forum/viewtopi ... -is-0.html
MiKla
Beiträge: 134
Registriert: 29. Juli 2007 15:29

Beitrag von MiKla »

Wie kann ich den return-Wert und die Fehlermeldung der Konsole ansehen?
Der Rückgabewert von connect ist ein bool, see auch:

Code: Alles auswählen

bool QObject::connect ( const QObject * sender, const char * signal, const QObject * receiver, const char * method, Qt::ConnectionType type = Qt::AutoConnection )   [static]
Unter Linux sollte eine Fehlermeldung automatisch in der Konsole erscheinen unter Windows brauchst du in Deinem Pro-File "CONFIG +=console"

Michael
devcube
Beiträge: 16
Registriert: 2. Januar 2009 16:28

Beitrag von devcube »

Die Fehlermeldung der Konsole kenne ich mittlerweile:
Object::connect: No such slot QWebView::suche();
Wie kann ich denn den Rückgabewert von connect() auslesen bzw. sichtbar machen?
MiKla
Beiträge: 134
Registriert: 29. Juli 2007 15:29

Beitrag von MiKla »

Wie man das immer macht...?

Code: Alles auswählen

bool ok = connect(...
qDebug() << ok;
Michael
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Q_OBJECT vergessen
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
devcube
Beiträge: 16
Registriert: 2. Januar 2009 16:28

Beitrag von devcube »

Q_OBJECT vergessen
Das hatte ich mal reingeschrieben gehabt, als ich das Projekt noch in einer Datei, main.cpp, hatte. Da gab es irgendwie immer einen Fehler, der nur kam, wenn Q_OBJECT in der Klasse stand.

Dann habe ich das Projekt in Header usw. aufgeteilt und Q_OBJECT natürlich nicht mehr drinstehen gehabt. Auf deine Antwort hin habe ich es wieder reingeschrieben und nun funktioniert das Programm!!! (Der Rückgabewert von connect() ist jetzt true :D)

Danke ihr drei :wink:
Antworten