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


Anmelden zum Antworten