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 标题栏就会消失。

参考:图片和我的解释

此外,将dock小部件拖到外面后,命令窗口显示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 回答