質問を明確にするために、QVideoWidget をアプリケーションに追加すると、すべてのボタンがクリックできなくなり、スクロールバーが機能せず、コンボボックスもクリックできなくなるのはなぜですか? QVideoWidget はこれらの機能を無効にしていますか? それとも、(この SO の質問で読んだように) QVideoWidget がアプリケーションに追加されるだけで、アプリケーションの速度が極端に低下するのでしょうか?
詳細: 誰かがこれで私を助けてくれることを本当に願っています. 次のコードを使用して QvideoWidget をデスクトップ アプリケーションに配置しようとしています (チュートリアルのように、特別なことは何もありません)。
// ...
// more code above for other things...
// main video-player widget
video_widget = new QVideoWidget;
video_widget->setMaximumHeight(100); // I could set any size here...this is not the point
video_widget->setMinimumHeight(100);
video_widget->setStyleSheet(STYLE_WIDGET_BG); // same background as the other widgets...
video_widget->setMaximumWidth(100);
video_widget->setMinimumWidth(100);
media_player = new QMediaPlayer(0, QMediaPlayer::VideoSurface);
TV_V_LAYOUT_MAIN_2->addWidget(video_widget); // #define TV_V_LAYOUT_MAIN_2 ui.lvl_4_tv2_h_1 --> this a layout inside another layout...
media_player->setVideoOutput(video_widget);
return; // this function is called inside the MainWindow constructor
したがって、次のような状況があります。
1) ビデオウィジェットを追加しなくても、すべて正常に動作します...
2) 上記のコードで QVideoWidget を追加するとすぐに: アプリの概要
何が起こるのですか? ビデオプレーヤーはまったく表示されません。少なくとも他のウィジェットのように灰色の背景が必要ですが、何もありません。それでもボタンの位置が下がっているので、プレーヤーが挿入されたと思います...問題は、すべてのボタン(つまり、アプリケーション内のすべてのボタン)が無効になっていることです。コンボボックスとスクロールバーも同様です。無効にするということは、クリックすると、通常、ボタンがクリックされたときのように「アニメーション化」されず、スクロールバーがスクロールしないということです...
ところで、QVideoWidget は下のボタンと同じレイアウトには配置されません。ここでレイアウト階層を確認できます: Layouts with Qt Designer
私は非常に単純なものが欠けていると思います。誰かが私のために解決策を得ましたか?
情報: Qt アドインを使用して Visual Studio 2013 でプログラミングしています。私は標準ライブラリのみを使用しています。gstreamer もプロジェクトに含まれています (まだ何も実装されていません)。
古い編集:ビデオ ウィジェットを挿入すると、アプリケーションの速度が極端に低下する可能性があります。そのため、スクロールバーとボタンが機能しないという錯覚が生じます。これは、ユーザー インタラクションを処理するのに多くの時間がかかるためです。 . これは可能ですか?そのための解決策はありますか?