Есть класс унаследованный от 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())))Можно ли заменить эти действия более красивыми методами?
|