質問

私は常にPIXMAP(ビデオ再生)であることを常に設定しているqlabelを持っています。私のアプリケーションでは、ユーザーはビデオの上に(ボックス)描画できる必要があります。塗装用のQlabelと同じサイズで、qpaintdeviceクラス(qwidget、qpixmap、qimageなど)の1つ(qwidget、qpixmap、qimageなど)のいずれかを層状にするにはどうすればよいですか。この要素には透明な背景が必要なので、その上に描かれた形状がビデオに表示されます。

役に立ちましたか?

解決

ビデオラベルの子ウィジェットとして、形状を描画するウィジェットを追加します。最初にレイアウトを追加して、子ウィジェットが親ウィジェットのサイズと一致するようにします。コードは次のようなものになります:

QHBoxLayout *layout = new QHBoxLayout(videoWidget);
QLabel *overlayWidget = new QLabel();
overlayWidget->setAlignment(Qt::AlignCenter);
overlayWidget->setText("Overlaid Text");
layout->addWidget(overlayWidget);

ビデオにオーバーレイされたテキストが表示され、サイズ変更されている場合はビデオウィジェットを介して中央に配置する必要があります。最終コードでは、マウスアクションを傍受して長方形を描くことができる独自のウィジェットサブクラスを使用しますが、それが基本的なアイデアです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top