1

OpenCV および QT ライブラリを使用してプロジェクトを作成しました。私のプロジェクトでは、Web カメラにマーカーを表示します (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();

}

誰でもアイデアを持っているか、それを修正する方法を知っていますか???

ありがとう!

4

1 に答える 1

1

少なくとも 2 つのウィンドウ (カメラ用とブラウザー用) を持つ 1 つのアプリケーションがあり、BrowserApplication が QApplication をサブクラス化していると思われます。これは正しいです?私が正しければ、QApplication クラスの説明の最初の数行を読んでください。

Qt を使用する GUI アプリケーションの場合、アプリケーションが常に 0、1、2、またはそれ以上のウィンドウを持っているかどうかに関係なく、正確に 1 つの QApplication オブジェクトがあります。

BrowserApplication の実装を提供していませんが、2 つのインスタンスを作成していると思われます。

于 2013-01-03T00:14:38.247 に答える