0

QDockWidget を使用して奇妙な問題に遭遇しました。

私の本質的なコード:

void iMainWindow::createDockWindows()
 {
    camera = cvCreateCameraCapture(0);
assert(camera);

QDockWidget *dock = new QDockWidget(tr("2D Camera"), this);
dock->setAllowedAreas(Qt::RightDockWidgetArea);
pixmapLabel = new MyCameraWindow(camera, dock);//class MyCameraWindow : public QWidget
dock->setWidget(pixmapLabel);
addDockWidget(Qt::RightDockWidgetArea, dock);
 }

プログラムを実行すると、正常であることがわかります

しかし、ドック部分を外側にドラッグすると、windows のタイトルバーが消えてしまいます。

参照:画像と私の説明

さらに、ドックウィジェットを外側にドラッグした後、コマンドウィンドウには、公開されていないウィンドウで呼び出された qbackingstore::flush() が表示されます

ドック ウィジェットを外側にドラッグした後、Windows のタイトル バーを保持するにはどうすればよいですか?

4

1 に答える 1

1

MyCameraWindow が QGLWidget である (または含まれている) と仮定すると、ここで報告したバグに遭遇しました: https://bugreports.qt-project.org/browse/QTBUG-29359。私が知っている回避策はありません(Qt 5.0.0で)

于 2013-01-28T16:10:19.567 に答える