1

我使用 OpenCV 和 QT 库创建了我的项目。在我的项目中,我向我的网络摄像头展示了一个标记(使用 aruco);当 cam 识别它时,会创建一个浏览器(使用 Qt 库)并显示一个站点。(你可以在这张图片中看到它) 在此处输入图像描述

但是,当我关闭浏览器并再次将标记显示为 cam(我没有关闭我的项目)时,我的程序意外停止 在此处输入图像描述

我使用 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();

}

任何人有任何想法或知道如何解决它???

谢谢!

4

1 回答 1

1

据我了解,您有一个应用程序至少有两个窗口(一个用于相机,一个用于浏览器),我怀疑 BrowserApplication 是 QApplication 的子类。它是否正确?如果我是正确的,请阅读 QApplication 类描述的前几行:

对于任何使用 Qt 的 GUI 应用程序,只有一个 QApplication 对象,无论应用程序在任何给定时间是否有 0、1、2 或更多窗口。

您没有提供 BrowserApplication 的实现,但我怀疑您正在创建两个实例。

于 2013-01-03T00:14:38.247 回答