Ich habe schon wieder ein Problem , bei dem ich nicht weiterkomme :
Ich möchte ein Label in meinem Hauptfenster alle 5 Sekunden aktualisieren. Dann habe ich gelesen, dass man sowas mit einem Timer machen sollte ! Soweit so gut !
habe dann folgenden Code erstellt :
Code: Alles auswählen
class MyWidget : public QWidget
{
public:
MyWidget( QWidget *parent=0, const char *name=0 );
void init(void);
void timer(void);
private slots:
void work(void);
};
void MyWidget::timer(void)
{
QTimer *timer = new QTimer( this );
connect( timer, SIGNAL(timeout()), SLOT(work()) );
timer->start( 5000, TRUE ); // 5 seconds single-shot timer
}
MyWidget::MyWidget( QWidget *parent, const char *name )
: QWidget( parent, name )
{
QPushButton *quit = new QPushButton( "Quit", this, "quit" );
quit->setFont( QFont( "Times", 10, QFont::Bold ) );
quit->resize( 75, 30 );
connect( quit, SIGNAL(clicked()), qApp, SLOT(quit()) );
this->timer();
}
void MyWidget::work(void)
{
// hier -> tu was
}
int main( int argc, char **argv )
{
QApplication a( argc, argv );
QString bild = "hintergrund.png";
QPixmap *background = new QPixmap(bild,0);
MyWidget w;
w.setGeometry( 1280, 1024, 0, 0 );
w.setPaletteBackgroundPixmap ( *background );
w.init();
w.showFullScreen();
a.setMainWidget( &w );
return a.exec();
}
wenn ich denn das progrämmchen starte sagt er mir folgendes :
QObject::connect: No such slot QWidget::work()
QObject::connect: (sender name: 'unnamed')
QObject::connect: (receiver name: 'unnamed')
Was mache ich denn wieder falsch ?
Bin wie immer für denkastöße sehr dankbar !
gruß
grisuking