SIGNAL destroyed() Debugger Fehlermeldung
-
Hallo zusammen.
Ich beziehe mich auf folgendes:
void QObject::destroyed ( QObject * obj = 0 )
Ich erzeuge aus einem MainWindow einen Dialog und setzte dessen Attribut wie folgt:
myDialog.cpp
setAttribute(Qt::WA_DeleteOnClose);
Jetzt wird doch das Signal destroyed gesendet, welches ich im MainWindow folgendermaßen verarbeiten möchte:
MainWindow.cpp
... connect(auswahlDialog, SIGNAL(destroyed()), this, test()); } void MainWindow::test(void) { ; }
Doch debugger bringt folgende Fehlermeldung:
[quote]
C:/Qt/SBOX/SBOX/mainwindow.cpp:97: error: invalid use of void expression
[/quote]
und verweist auf die connect(...) Zeile.Was ist da falsch? Wie ist es richtig? Vermute ich fange/rufe das Signal destroyed() flasch ab/auf. Muss ich da noch was übergeben?
Doku sagt ja:
[quote]
void QObject::destroyed ( QObject * obj = 0 ) [signal]This signal is emitted immediately before the object obj is destroyed, and can not be blocked.
All the objects's children are destroyed immediately after this signal is emitted.
[/quote]Aber das verstehe ich nicht ganz. Muss ich destroyed() myDialog übergeben? Danke für Antworten
LG
-
Jetzt wird doch das Signal destroyed gesendet, welches ich im MainWindow folgendermaßen verarbeiten möchte:
connect(auswahlDialog, SIGNAL(destroyed()), this, test());
C:/Qt/SBOX/SBOX/mainwindow.cpp:97: error: invalid use of void expression
connect(auswahlDialog, SIGNAL(destroyed()), this, SLOT(test()));
Ausserdem muss die Methode "test" als slot deklariert sein.
-
Hallo hellihjb ,
Die Methode "test" ist in der MainWindow.h wie folgt deklariert
public slots: void test(void);
Aber trotzdem kommt die genannte Fehlermeldung. Hmmm, was will mir denn der Kompiler mit VOID sagen???
-
[quote="blitzgeist"]Hallo hellihjb ,
Die Methode "test" ist in der MainWindow.h wie folgt deklariert
public slots: void test(void);
Aber trotzdem kommt die genannte Fehlermeldung. Hmmm, was will mir denn der Kompiler mit VOID sagen???[/quote]
Dir fehlt noch das SLOT(...) um das vierte Argument.
-
Hey jaf,
vielen Danke! Da hatte ich wohl echt Tomaten auf den Augen :))) Logisch, jetzt geht's.