Строка заголовка Windows исчезает при использовании QDockWidget qbackingstore::flush(), вызываемой с неоткрытым окном

Я столкнулся со странной проблемой при использовании 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);
 }

когда я запускаю свою программу, она становится нормальной

Однако, если я перетащу часть док-станции наружу, строка заголовка окна исчезнет.

см.: изображение и мое объяснение

Более того, после перетаскивания виджета док-станции наружу в командном окне отображается вызов qbackingstore::flush() с неоткрытым окном.

Как я могу сохранить строку заголовка Windows после перетаскивания виджета док-станции наружу?


person lightrek    schedule 26.12.2012    source источник


Ответы (1)


Предполагая, что MyCameraWindow является (или содержит) QGLWidget, вы столкнулись с ошибкой, о которой я сообщал здесь: https://bugreports.qt-project.org/browse/QTBUG-29359. Я не знаю обходного пути (в Qt 5.0.0)

person bgp2000    schedule 28.01.2013