2011-12-06 3 views
1

現在、Qtを使用してメディアプレーヤーを開発中です。必要な共通の機能の1つは、フルスクリーンを切り替えることができることです。Qtを使用して開発されたメディアプレーヤーでフルスクリーン表示を切り替える

レンダリングキャンバスは基本的にQGLWidget(私はそれからサブクラス化されています)です。このメディアプレーヤーのメインウィンドウであるアプリケーションウィンドウに追加されます。レンダリングキャンバスの他に、アプリケーションウィンドウにはツールバー、ステータスバー、その他の小さなウィジェットがあります。私が実装したいフルスクリーンは、レンダリングキャンバスを他のウィジェットを表示させずにフルスクリーンで表示させることです。一方、私はまだキーを押してイベントを引き起こすことができます。

レンダリングキャンバスの親を0にリセットして、showFullScreen()関数を呼び出そうとしました。そして、アプリケーションウィンドウでhide()を呼び出しました。これにより、キャンバスが画面全体を占めることが予想されます。ただし、アプリケーションはキープレスイベントを取得していません。その結果、私は正常に戻ることはできません。さらに、キャンバスの背景が白と黒の間で点滅しています(デフォルトの背景は白です)。

とにかく、私が試した方法はこれを実装する最良の方法だとは思わない。私が正常に戻ったときには、いくつかの複雑な育児が進行するでしょうから。 piexl値の表示(ソースは生のまま)など、フルスクリーンで実行されるいくつかのタスクがあるため、アプリケーション全体を管理するのが難しくなります。

誰もがフルスクリーンのトグルを実装するためのより良い方法を提案できますか?

答えて

0

お使いのバージョンは?

私はあなたがテストしなければならない解決策を提案します。 フルスクリーンにしたいときは、コンテンツのコピーを作成してください(ビデオがウィジェットにある場合は、新しいQWidgetを開いて新しいウィジェットにコンテンツをコピーします)、理論上は同じコンテンツを持つ2つのウィジェットがありますしかし、あなたは何かの大きさを隠して縮小する必要はありません。 あなたのために働いたかどうか教えてください。

第二に、これらのポストを見て、役に立つかもしれない:

Finaly、もう一度読んで、あなたが見逃している可能性が何か:/ http://doc.qt.io/qt-5/qwidget.html#showFullScreen

私が何かを誤解したのか、何か(そして何が)助けられたのか教えてください。

+0

あなたの提案は私にとって意味をなさないと思います。私は私のアプリでこれを実装しようとしています。私は物事がどのように進むのかを知らせます。 – Scrathis

+0

私はあなたが提案した方法を使用してフルスクリーントグルを実装しました。これまでのところうまくいきます。ありがとうございます@ Max13 – Scrathis

関連する問題