QT Sloty Problem
-
hi,
ich habe mein mal probiert mir QT Sloty zu Programmieren.
geht einfach ned, der slot verbindet ned!! ich machs mir dem gcc (g++) kann mir einer Helfen?danke matze
#include <qapplication.h> #include <qpushbutton.h> #include <qfont.h> #include <qmessagebox.h> class MyWidget : public QWidget { public slots: void my_slot(); public: MyWidget( QWidget *parent=0, const char *name=0 ); }; void MyWidget::my_slot() { QMessageBox::about(this, "About Word2HTML","Hello World"); } MyWidget::MyWidget( QWidget *parent, const char *name ) : QWidget( parent, name ) { setMinimumSize( 200, 120 ); setMaximumSize( 200, 120 ); QPushButton *quit = new QPushButton(this); quit->setGeometry(10,10,80,25); quit->setText("Button"); connect(quit, SIGNAL(clicked()), this, SLOT(my_slot()) ); } int main( int argc, char **argv ) { QApplication a( argc, argv ); MyWidget w; w.setGeometry( 100, 100, 200, 120 ); a.setMainWidget( &w ); w.show(); return a.exec(); }
[edit]benutz mal bessere Topics
[/edit]
-
Um Signale zu empfangen, musst du in den Header der Klasse die Zeile Q_OBJECT einfügen:
class MyWidget : public QWidget { Q_OBJECT public slots: void my_slot(); public: MyWidget( QWidget *parent=0, const char *name=0 ); };
Dann musst du noch das Programm "moc" aufrufen, in der Form:
moc MyWidget.h -o moc_MyWidget.cppDie Datei musst du dann auch noch beim gcc angeben!
-
was ist Moc gibts bei mir ned!
ich wollte es mit dem Kdevelop machen kann ich das jetzt ned oder wie ??