画面キャプチャの例

画面やウィンドウのキャプチャ

スクリーンキャプチャではQScreenCaptureQWindowCapture を使用して、画面またはウィンドウをキャプチャする方法を示します。この例では、画面とウィンドウのリストを表示し、QMediaCaptureSessionQVideoWidget を使用して選択したアイテムのライブ プレビューを表示します。キャプチャは、button で開始および停止できます。

例の実行

Qt Creator からサンプルを実行するには、Welcome モードを開き、Examples からサンプルを選択します。詳細については、Building and Running an Example を参照してください。

アプリケーションの構造

このサンプルは、3つのカスタムクラスで構成されています。UI とすべての画面キャプチャ機能は、ScreenCapturePreview クラスに実装されています。クラス ScreenListModel と WindowListModel は、2 つのQListView ウィジェットの背後のモデルとしてのみ機能します。メイン関数はScreenCapturePreviewオブジェクトを作成し、そのオブジェクトはすべてのUIウィジェットに加えて、QScreenCaptureQWindowCaptureQMediaCaptureSessionQVideoWidget のインスタンスを作成します。

スクリーン・モデルとウィンドウ・モデルには、それぞれQGuiApplication::screens() とQWindowCapture::capturableWindows() の戻り値が入力される。

リスト・アイテムが選択されると、setScreen ()でQScreenCapture オブジェクトに接続され、setWindow ()でQWindowCapture オブジェクトに接続されます。キャプチャ・オブジェクトは、それぞれsetScreenCapture ()とsetWindowCapture ()でQMediaCaptureSession オブジェクトに接続される。キャプチャセッションはsetVideoOutput() でQVideoWidget オブジェクトに接続されます。このように、キャプチャ出力はUIの右側にあるビデオ・ウィジェットでプレビューされます。

スタート/ストップ・ボタンは、QScreenCapture::start ()とQScreenCapture::stop ()、またはQWindowCapture::start ()とQWindowCapture::stop ()を呼び出します。

errorOccurred シグナルが発せられると、QMessageBox がポップアップします。

プロジェクト例 @ code.qt.io

©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 ここで提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。