Russian Qt Forum

Qt => Общие вопросы => Тема начата: PotapovPV от Ноябрь 16, 2009, 20:43



Название: Проблема с сигналами в QT 4.2.0
Отправлено: PotapovPV от Ноябрь 16, 2009, 20:43
Добрый день.
При написании консольного приложения на QT возникла следующая проблема:
в ходе выполнения прогаммы экземпляром класса должен генерироваться сигнал, соответственно, должен вызываться слот, ну и производиться некоторые действия...
Компиляция проекта проходит удачно, однако при вызове конструктора класса в консоль выводится следующее сообщение:
Object::connect: No such signal cReadingThread::signalIAmDisconnect(int iId)
код объявления класса и конструктора:
Код:
class cReadingThread : public QThread 
{
Q_OBJECT
public:
int iId;
void run();
int iSendFunc(QString qStr, int iReceiver);
void vFuncDisc(int &iId);
cReadingThread();

signals:
void signalIAmDisconnect(const int &iId);

private slots:
void slotUserDisconnected(const int &iDiscId);
};

cReadingThread::cReadingThread()
{
connect(this,SIGNAL(signalIAmDisconnect(const int iId)), this, SLOT(slotUserDisconnected(const int iId)));
return;
}

Подскажите, пожалуйста, в чем может заключаться проблема?


Название: Re: Проблема с сигналами в QT 4.2.0
Отправлено: lit-uriy от Ноябрь 16, 2009, 21:22
ты пытаешся соеденить сигнал:
Цитировать
Object::connect: No such signal cReadingThread::signalIAmDisconnect(int iId)
а распологаешь сигналом:
Цитировать
signalIAmDisconnect(const int &iId);
и, возможно, при соединении пишешь имя аргумента iId, что тоже не верно


Название: Re: Проблема с сигналами в QT 4.2.0
Отправлено: pastor от Ноябрь 16, 2009, 22:28
Код
C++ (Qt)
connect(this,SIGNAL(signalIAmDisconnect(const int &)), this, SLOT(slotUserDisconnected(const int &)));

Лично я не вижу смысла передавать значение по ссылке в даннм случае.


Название: Re: Проблема с сигналами в QT 4.2.0
Отправлено: PotapovPV от Ноябрь 16, 2009, 22:43
ты пытаешся соеденить сигнал...
Спасибо, помогло, скомпилировалось, правда из-за ...
Лично я не вижу смысла передавать значение по ссылке в даннм случае.
... этого я понял что мне это совсем не нужно... )
Все равно - спасибо что откликнулись