我使用OpenCV和QT库创建了我的项目。 在我的项目中,我向我的网络摄像头显示一个标记(使用aruco);当cam识别它时,会创建一个浏览器(使用Qt库)并显示一个站点。 (你可以在这张图片中看到它)
但是,当我关闭浏览器并再次显示标记到凸轮时(我没有关闭我的项目),我的程序意外停止
我使用QtCreator 2.6.0 e qt 4.8.3库在Win7 x64上工作。 我认为问题是QApplication。它似乎并没有完全关闭。
这是浏览器创建的代码(QApplication的创建):
int browser(int argc, char **argv)
{
Q_INIT_RESOURCE(data);
BrowserApplication application(argc, argv);
if (!application.isTheOnlyBrowser())
return 0;
application.newMainWindow();
return application.exec();
}
任何人有任何想法或知道如何解决它?
谢谢!
答案 0 :(得分:1)
据我所知,你有一个应用程序至少有两个窗口(一个用于摄像头,一个用于浏览器),我怀疑BrowserApplication是子类化QApplication。它是否正确?如果我是正确的,那么请阅读QApplication类描述的前几行:
对于使用Qt的任何GUI应用程序,只有一个QApplication 对象,无论应用程序是否有0,1,2或更多窗口 在任何给定的时间。
您没有提供BrowserApplication的实现,但我怀疑您正在创建两个实例。