首页| 论坛| 消息

标题:QThread多线程中调用DOS命令
作者:lwei24
日期:2023-01-09 14:36
内容:

如题,在QThread子线程中调用QProcess运行DOS命令,其中cmd是DOS命令
m_process->start(cmd);
m_process->waitForFinished(-1);
在关闭窗口时,想退出线程,并一起中断QProcess运行的命令,但是这个好像没有办法中断。不知道各位大佬是怎么解决这个问题的呢?


#1 [wanger233 01-10 11:09]
析构函数里关闭这个线程
Widget::~Widget()
{
m_process->close();
}
或者初始化时 将窗口设为父
QProcess * m_process = new QProcess(this);
最好确认下析构被调用了 加个输出看看
#2 回 wanger233 的帖子 [lwei24 01-12 11:06]
wanger233:析构函数里关闭这个线程
Widget::~Widget()
{
    m_process->close();
....... (2023-01-10 11:09) 
试了,不过好像效果不是很好。
#3 [zy1233 01-12 11:13]
关闭窗口时调用QProcess::kill()
#4 回 zy1233 的帖子 [lwei24 01-13 14:19]
zy1233:关闭窗口时调用QProcess::kill() (2023-01-12 11:13) 
好的,谢谢

回复 发表
主题 版块