Название: QT3 может QThread отправлять сигналы? Отправлено: myr от Апрель 26, 2010, 09:35 Здраствуйте. У меня графическое приложение.
class TEventThread:public QThread,public QObject { public: TEventThread(); virtual void run(); signals: void pr(int); }; void TEventThread::run() { for(int i =0 ;i<=100;++i){ usleep(100000); emit pr(i); } } При компиляции пишет - thread_sv.obj : error LNK2001: unresolved external symbol "protected: void __thiscall TEventThread::pr(int)" (?pr@TEventThread@@IAEXH@Z). Это значит что сигналы в принципе отправить нельзя? Спасибо. Название: Re: QT3 может QThread отправлять сигналы? Отправлено: Karl-Philipp от Апрель 26, 2010, 09:59 Множественное наследование от двух классов, порожденных от QObject, запрещено. Да и зачем наследоваться от QObject, если QThread и так его потомок?
Название: Re: QT3 может QThread отправлять сигналы? Отправлено: BRE от Апрель 26, 2010, 10:11 Множественное наследование от двух классов, порожденных от QObject, запрещено. Да и зачем наследоваться от QObject, если QThread и так его потомок? В Qt3 это не так, там QThread не является наследником QObject.2 myr Ты наверное хотел сделать что-то типа этого: Код
Но, нормально это работать все равно не будет, воспользуйся для этого событиями. В примерах это все есть. Название: Re: QT3 может QThread отправлять сигналы? Отправлено: alexman от Апрель 26, 2010, 10:31 void QApplication::postEvent ( QObject * receiver, QEvent * event )
Название: Re: QT3 может QThread отправлять сигналы? Отправлено: myr от Апрель 26, 2010, 10:33 Спасибо.
Сделала через события. В примерах QT4 есть вариант с сигналами - кода меньше. Название: Re: QT3 может QThread отправлять сигналы? Отправлено: alexman от Апрель 26, 2010, 14:26 Спасибо. В qt3 сигналы-слоты не потокобезопасны!Сделала через события. В примерах QT4 есть вариант с сигналами - кода меньше. |