3

SDL_surface独自のウィンドウでビデオを再生するがあります。このウィンドウをにレンダリングしたいQWidget。私のターゲットはOSX、Windows、Linuxであるため、一般的なソリューションが必要です。

私は以下のように要約された2つの解決策に出くわしました:

  1. ウィンドウIDハックSDL_WINDOWIDには、SDLがQWidgetのピクセルをプッシュするようにQWidgetのIDを設定することが含まれます。関連するスレッドのQtスニペットの例を次に示します。

    ただし、これはOS Xで機能するわけではなく、すべてのWinおよびLinuxプラットフォームで機能することが保証されているわけではありません。

  2. ウィンドウ以外のSDL_surfaceからQWidgetに手動でコピーします。

    Gtk +のサンプルコードがいくつか見つかりましたが、Qtのサンプルコードは今のところ見つかりません。アイデアは、ビデオをメモリにプッシュし、QWidgetからプルすることです。確かに、各フレームをレンダリングするためにQImageを使用するべきではありません。では、このコピーをどのように実装するのでしょうか。

重複する可能性のある質問がありますが、私の質問はプラットフォームに依存しないことについてより具体的です

4

1 に答える 1

2

からピクセルを取得し、それを使用してSDL_Surfaceを作成してから、を使用してウィジェットにを描画します。QImageQPainterQImage

于 2012-06-27T19:56:34.357 に答える