gdb.exe stürtzt ab....
-
hallo,
mein Code:// beispiele/signalslot4/main.cpp #include "myclass.h" #include <QApplication> #include <QMessageBox> #include <QString> // simple Nachrichten-Box void MyMessageBox(MyClass& a,MyClass& b,QString title) { QString Qstr, Qval; // String zusammenbasteln Qstr.append(title); Qstr.append("\na: "); Qval.setNum(a.value()); Qstr.append(Qval); Qstr.append("\nb: "); Qval.setNum(b.value()); Qstr.append(Qval); QMessageBox::information( NULL, "MyClass Information", Qstr, QMessageBox::Ok); } int main(int argc, char *argv[]) { QApplication app(argc, argv); // Zwei MyClass-Objekte MyClass *a = new MyClass(); MyClass *b = new MyClass(); // Das Signal des einen wird mit dem Slot // des anderen Objekts verbunden. QObject::connect( a, SIGNAL( valueChanged(int) ), b, SLOT( setValue(int) ) ); // b.val bekommt den Wert 100 b->setValue( 100 ); MyMessageBox(*a, *b, "b->setValue(100)"); // a.val bekommt den Wert 99. Durch die Signal-Slot- // Verknüpfung bekommt jetzt auch b.val den Wert 99 a->setValue( 99 ); // Der Beweis MyMessageBox(*a, *b, "a->setValue(99)"); return 0; }
// beispiele/signalslot4/myclass.cpp #include "myclass.h" MyClass::MyClass() { val = 0; } void MyClass::setValue( int v ) { // val wird nur neu gesetzt, // wenn tatsächlich ein anderer Wert übergeben wird. if ( v != val ) { val = v; emit valueChanged(v); } }
// beispiele/signalslot4/myclass.h #ifndef MY_CLASS_H #define MY_CLASS_H #include <QObject> // Eine Klasse, die Signals und Slots besitzt. class MyClass : public QObject { Q_OBJECT public: MyClass(); // Konstruktor int value() const { return val; } public slots: // Der Wert von "val" wird geändert. void setValue( int ); signals: // Das Signal soll ausgesandt werden, // wenn "val" geändert wird. void valueChanged( int ); private: int val; }; #endif
-
Bei mir nicht