Inhalt für QDockWidget erscheint verkrüppelt woanders
Verfasst: 6. April 2012 10:49
Hallo liebe QT-Community,
folgendes Problem:
Auf dem Mac erscheint der Inhalt eines QWidgets in meinem Hauptfenster über meinem centralWidget, obwohl davon nichts zu sehen sein sollte. Ich halte das Widget nur im Hintergrund vor, um es in einem QDockWidget anzuzeigen. Sobald ich es anzeigen lasse, verschwindet das Problem.
Code:
mainwindow.cpp:
Erst nachdem an anderer Stelle aufgerufen wurde, verschwinden diese Artefakte. Das gleiche gilt für ein anderes Widget, das ähnlich konstruiert wird. Was kann ich tun, um das zu vermeiden?
Unter Linux gibt es kein derartiges Problem.
folgendes Problem:
Auf dem Mac erscheint der Inhalt eines QWidgets in meinem Hauptfenster über meinem centralWidget, obwohl davon nichts zu sehen sein sollte. Ich halte das Widget nur im Hintergrund vor, um es in einem QDockWidget anzuzeigen. Sobald ich es anzeigen lasse, verschwindet das Problem.
Code:
mainwindow.cpp:
Code: Alles auswählen
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
mwall_builder_dock_container = new QWidget(this);
mwall_builder_dock_container_layout = new QGridLayout;
mwall_builder_insert_walls = new QPushButton(tr("Insert walls"));
mwall_builder_reset = new QPushButton(tr("Reset"));
mwall_builder_dock_container_layout->addWidget(mwall_view, 0, 0, 1, -1);
mwall_builder_dock_container_layout->addWidget(mwall_builder_insert_walls, 1, 0);
mwall_builder_dock_container_layout->addWidget(mwall_builder_reset, 1, 1);
mwall_builder_dock_container->setLayout(mwall_builder_dock_container_layout);
mdock_widget = new QDockWidget(this);
mdock_widget->setAllowedAreas(Qt::RightDockWidgetArea);
mdock_widget->setWidget(mobj_template_view); // anderes Widget nach Start anzeigen lassen
}
Code: Alles auswählen
mdock_widget->setWidget(mwall_builder_dock_container);Unter Linux gibt es kein derartiges Problem.