Проблема такая. Есть класс моего приложения, оно является наследником моего виджета который в свою очередь является наследником QWidget. В нём есть обьект который так же является обьектом моего класса. Так вот в классе этого обьекта я обьявляю таймер, и его сигнал соединяю со слотом моего класса.
Хидер:
class ldmUsersBlock : public QWidget
{
public:
ldmUsersBlock ( QWidget *parent, int num_users );
~ldmUsersBlock ( );
void setUsers ( Users *users );
void setGeometry ( int x_size, int y_size, int x_pos, int y_pos );
void moveUP ( );
void moveDN ( );
void mouseMoveEvent ( QMouseEvent * e );
QTimer *t;
private:
int num_users, flup, fldn;
ldmUsers *users;
private slots:
void moveUsers ( );
};
Сишник:
....
t = new QTimer ( this );
connect ( t, SIGNAL ( timeout ( ) ), SLOT ( moveUsers ( ) ) );
....
void ldmUsersBlock::moveUsers ( )
{
if ( flup == 1 ) moveDN ( );
if ( fldn == 1 ) moveUP ( );
}
Так вот, это не работает, после запуска мне вылетает следущая мессага и таймер соответственно не работает.
QObject::connect: No such slot QWidget::moveUsers()
QObject::connect: (sender name: 'unnamed')
QObject::connect: (receiver name: 'unnamed')
Может кто знает почему соединение не происходит, ведь таймер обьявлен...
Заранее спасибо!!!
Форум —
Development

