画面キャプチャの例
画面やウィンドウのキャプチャ
スクリーンキャプチャでは、QScreenCapture とQWindowCapture を使用して、画面またはウィンドウをキャプチャする方法を示します。この例では、画面とウィンドウのリストを表示し、QMediaCaptureSession とQVideoWidget を使用して選択したアイテムのライブ プレビューを表示します。キャプチャは、button で開始および停止できます。
例の実行
Qt Creator からサンプルを実行するには、Welcome モードを開き、Examples からサンプルを選択します。詳細については、Building and Running an Example を参照してください。
アプリケーションの構造
このサンプルは、3つのカスタムクラスで構成されています。UI とすべての画面キャプチャ機能は、ScreenCapturePreview クラスに実装されています。クラス ScreenListModel と WindowListModel は、2 つのQListView ウィジェットの背後のモデルとしてのみ機能します。メイン関数はScreenCapturePreviewオブジェクトを作成し、そのオブジェクトはすべてのUIウィジェットに加えて、QScreenCapture 、QWindowCapture 、QMediaCaptureSession 、QVideoWidget のインスタンスを作成します。
スクリーン・モデルとウィンドウ・モデルには、それぞれQGuiApplication::screens() とQWindowCapture::capturableWindows() の戻り値が入力される。
リスト・アイテムが選択されると、setScreen ()でQScreenCapture オブジェクトに接続され、setWindow ()でQWindowCapture オブジェクトに接続されます。キャプチャ・オブジェクトは、それぞれsetScreenCapture ()とsetWindowCapture ()でQMediaCaptureSession オブジェクトに接続される。キャプチャセッションはsetVideoOutput() でQVideoWidget オブジェクトに接続されます。このように、キャプチャ出力はUIの右側にあるビデオ・ウィジェットでプレビューされます。
スタート/ストップ・ボタンは、QScreenCapture::start ()とQScreenCapture::stop ()、またはQWindowCapture::start ()とQWindowCapture::stop ()を呼び出します。
errorOccurred シグナルが発せられると、QMessageBox がポップアップします。
©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 ここで提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。