• 10061阅读
  • 4回复

QT 多线程问题,加上一个后台线程后,界面不能响应操作 [复制链接]

上一主题 下一主题
离线emailqu
 
只看楼主 倒序阅读 楼主  发表于: 2009-10-12
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
一个gui线程显示界面,后台有一个deamon线程执行,各位指点一下为什么界面还是动不了?运行后界面卡住不能响应操作。代码如面:

//后台线程
extern "C" int deamon(int argc, char * argv[]) ;

class DeamonThread : public QThread
{
     public:
         void run();
};

void DeamonThread::run()
{
    deamon( 0,NULL);
}

//界面类
class ShowThread  : public QThread
{
private:
      weeProxy w;
public:
     void run();
};

void ShowThread::run()
{
     w.show();
}

//主函数
int main(int argc, char *argv[])
{

    QApplication app(argc, argv);

    ShowThread *showThread = new ShowThread();
    showThread->run();

    DeamonThread *deamonThread = new DeamonThread();
    DeamonThread->run();

    return app.exec();
    
}
离线mmmou2000
只看该作者 1楼 发表于: 2009-10-13
Qt文档上的:
http://doc.trolltech.com/4.5/qthread.html#details
Note, however, that it is not possible to use any widget classes in the thread.
离线hehui

只看该作者 2楼 发表于: 2009-10-14
UI要跟app在同一线程~
离线帅坤
只看该作者 3楼 发表于: 2010-06-26
我也是这样的问题,界面没有相应。
我的后台线程是在界面类中启动的,这样没关系吧?
离线water_wf

只看该作者 4楼 发表于: 2010-06-29
线程中不可以存在gui操作
快速回复
限100 字节
 
上一个 下一个