作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是使用Qt和OpenCV的初学者,但有一个小问题。
我的应用程序运行良好,但关闭后似乎opencv.exe(应用程序名称)仍在内存中。
这是我的代码:
int main(int argc, char* argv[]) {
QCoreApplication a(argc, argv);
cv::Mat img = cv::imread("img.jpg");
cv::namedWindow("Image");
cv::imshow("Image",img);
return a.exec();
}
最佳答案
QCoreApplication::exec()
启动事件循环。
通常,这与终端窗口的存在有关。
使用QApplication::exec()
,它也会启动事件循环,但通常与QMainWindow
或最后打开的QWidget
的存在相关。
现在,最简单的关闭方法是转到“项目”>“运行”>“在终端中运行”,然后进行检查。
您可能还需要转到.pro文件并添加CONFIG += console
。
当您开始使用Qt信号和插槽时,事件循环将非常有用。
同样,为了使Qt的任何GUI正常运行,您还需要运行exec()
事件循环。
在Qt Creator中运行任务时,终止其任务的另一种方法是转到底部的Application Output
选项卡,然后单击红色正方形停止按钮。
希望能有所帮助。
关于qt - 关闭所有窗口后,Qt应用程序仍保留在内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17533627/
我是一名优秀的程序员,十分优秀!