Qt 关闭窗口时循环依旧运行的解决办法
来源:互联网 发布:制造业数据分析 2016 编辑:程序博客网 时间:2024/06/01 09:45
在Qt中,经常碰到关闭窗口之后,程序中的循环依旧运行。查资料知道跟线程和进程有关系,比较麻烦,以后再慢慢看线程和进程知识。今天想到一个比较偷懒的方法,具体方法如下(部分代码):
1 在类中设立判断循环的标志:isLooopFlag,以及槽函数stopLoop。
Update::Update(QWidget *parent) : QDialog(parent), ui(new Ui::Update){ ui->setupUi(this); QTextCursor textCursor=ui->textEdit->textCursor(); textCursor.movePosition(QTextCursor::End); ui->textEdit->setTextCursor(textCursor); isLoopFlag=true;}
void Update::stopLoop(){ qDebug()<<"stopLoop"; isLoopFlag=false;}
然后在循环中加入判断, 如果isLoopFlag为false,则结束循环。最后在main函数中将lastWindowClosed信号和槽函数stopLoop连接起来。
if(!isLoopFlag) break;
int main(int argc,char**argv){ QApplication app(argc,argv); Update *updateDialog=new Update; //app.setMainWidget(updateDialog); updateDialog->show(); app.connect(&app,SIGNAL(lastWindowClosed()),updateDialog,SLOT(stopLoop())); //将lastWindowwClosed()信号与stopLoop连接起来 int result=app.exec(); qDebug()<<result; delete updateDialog; return result;}当然,这只是比较歪门邪道的方法。涉及到线程和进程肯定还有更标准的方法。
- Qt 关闭窗口时循环依旧运行的解决办法
- qt 关闭一个页面,结束应用程序运行,关闭其他窗口
- QT中使用槽函数来关闭窗口,导致内存泄露的问题以及解决办法
- QT 关闭主窗口时触发关闭所有打开的其他窗口
- QT 应用程序关闭某个窗口时,关闭打开的所有其他窗口并退出程序
- QT 关闭主窗口,触发关闭所有打开的窗口
- Qt 储存软件窗口最后的关闭时的状态
- QT创建线程的窗口关闭,但是线程还在运行
- 关闭窗口后,任务管理器中显示依然运行的解决办法
- Qt::TOOL窗口关闭但进程仍在运行解决方案
- Qt正确的关闭窗口方法
- 拦截QT关闭窗口的CloseEvent
- 拦截QT关闭窗口的CloseEvent
- 拦截QT关闭窗口的CloseEvent
- 拦截QT关闭窗口的CloseEvent()解析
- 拦截QT关闭窗口的CloseEvent
- 拦截QT关闭窗口的CloseEvent()
- Qt窗口hide()后的关闭机制
- Netty源代码阅读
- openfire 插件web 页面显示国际化
- 性格的自白
- delphi7IDE技巧
- FTPHelper-FTP帮助类,常用操作方法
- Qt 关闭窗口时循环依旧运行的解决办法
- 指标网页的载入光阴也会影响推行品质得分
- SGU133-Border (Sort)
- android 设备管理屏幕锁定实现方法
- struts2+Hibernate+Spring+zTree+异步加载
- 候选人得票
- 转的一篇介绍iostat命令的文件非常不错,学习一下
- 重庆移动4G资费出炉 600M流量售50元
- 安装grid时报ins 30044错误