Qt有没有中断?Qt多线程怎么实现?
请高手讲解个大概思路,谢谢
[解决办法]
你的中是指主程中其他的程?
可以主程出signal其他的程
要求他中,advanced Qt programming上有例
一的例子,不保可以跑
副程
然後主程的signal接到副程的slot就好
ps : 我只是初者,提起翻本是因他的model/view得最
[解决办法]
上程式
- C/C++ code
class heavyJob : public QThread{ Q_OBJECT public: heavyJob() : stop_(false) {} heabyJob(heavyJob const&) = delete; heavyJob& operator=(heavyJob const&) = delete; public slots: void setStop(bool stop) { stop_ = stop; } protected : void run() { for(....) { if(stop_) return; } } private: volatile bool stop_;}
[解决办法]
在run()里面调用QThread::exec();进行线程的事件循环。start之后会进入run(),然后创建一个对象,并将对象moveToThread 或者你直接在run中创建对象,并进行信号与槽关联, 在主线程发送信号,槽函数将在次线程执行。
[解决办法]
去在用Qt程的候有常犯的就是在QThread中呼叫moveToThread
下篇有很的解
http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/