首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

qt线程编程有关问题,标准输入

2013-07-08 
qt线程编程问题,标准输入我的qt程序里需要调用外部exe程序执行,之前的做法是在mainwindow中开一个线程,由

qt线程编程问题,标准输入
我的qt程序里需要调用外部exe程序执行,之前的做法是在mainwindow中开一个线程,由线程中创建一个process,之后在run函数里这样:


        process->start(exePath);
        if (!process->waitForFinished(30000)){
            std::cerr<<"Process TIMEOUT!"<<std::endl;
            process->kill();
        }
        emit processExit();


现在的问题是:
我的后台exe程序运行到某一个地方需要一个输入,这个输入想通过qt的主窗口UI输入,不能通过预先的参数表或配置文件进行配置,这时候知道QProcess有一个write函数,可是线程如果被waitForFinished是不是会block住?如果不加waitForFinished在run执行完以后线程就结束了,应该怎么办?加while(1)配合信号和槽吗?

注:后台exe和UI通过udp通信,在需要输入的时候后台可发消息让UI知道。
请高人指点,谢谢!
[解决办法]
既然是后台程序,直接在主线程调起来运行,为何需要在子线程中控制,何况是通过udp通信的

热点排行