读书人

Qt有没有中断?Qt多线程如何实现

发布时间: 2012-09-10 11:02:33 作者: rapoo

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/

读书人网 >QT开发

热点推荐