Ответ
 
Опции вопроса Поиск в этом вопросе Опции просмотра
  #1  
Старый 28.09.2011, 20:07
Аватар для Guest
Guest
Вопрос
Сообщений: n/a
По умолчанию

Есть класс унаследованный от QThread.КодC++ (Qt)class mySecond;class myThread : QThread{public: void setData(); void startSecond();signals: ready(); strtSecond();protected: void run();private: mySecond *second;}void setData(){ second->setData();}void startSecond(){ //second->start() emit strtSecond();}void run(){ second = new mySecond; connect(this, SIGNAL(strtSecond()), second, SLOT(start())); emit ready(); exec(); delete second;}1. Сигнал ready() использую для того, чтобы знать когда обьект second создан и можно было его сконфигурировать. Конфигурация производится из главного потока.2. startSecond() вызывается из главного потока. Для того чтобы метод second->start() выполнялся в контексте вновь созданного потока использую промежуточный сигнал.(Тут на ум приходит только сделать startSecond() слотом, а в глвном потоке сделать через QTimer::singleShot(0, myThread, SLOT(startSecond())))Можно ли заменить эти действия более красивыми методами?
Ответить с цитированием
Ответ



Похожие вопросы
Тема Автор Раздел Ответов Последний вопрос или ответ
еще пару вопросов Guest Продолжение старого архива 0 01.10.2011 02:12
пару вопросов по SMF Guest Продолжение старого архива 0 30.09.2011 16:07
Пару вопросов Guest Продолжение нового архива 0 29.09.2011 22:11
Пара общих вопросов про QThread. Guest Новый архив 3 0 28.09.2011 19:49
Пару вопросов по С++ Guest Продолжение архива вопросов 0 09.06.2011 00:51



© www.otvetnemail.ru - Форум вопросов и ответов.