Ich versuche, ein Floating (abgedockt) QDockWidget in den Vollbildmodus zu versetzen. Unter Windows scheint alles klar zu sein. Zum Beispiel verbinden die topLevelChanged i() Signal eines dockwidget (dw) zu einem benutzerdefinierten Schlitz floatingChanged()QDockWidget showFullscreen funktioniert nicht auf Ubuntu (Gnome)
connect(dw, SIGNAL(topLevelChanged(bool)), this, SLOT(floatingChanged(bool)));
innerhalb des Schlitzes i überprüfen: Wenn dw floatet und rufen DW-> showFullscreen().
void MainWindow::floatingChanged(bool floating)
{
if(floating)
{
QDockWidget* dw = static_cast<QDockWidget*>(QObject::sender());
dw->showFullScreen();
}
}
in Fenstern angedockten (floating) QDockWidget schaltet direkt in den Vollbildmodus nach dem Abdocken. Aber unter linux (ubuntu 12.04, gnome-shell 3.4.1) funktioniert das nicht (4.8.0). Das Dock-Widget bleibt einfach im normalen Modus.
Ich kann nicht herausfinden, wie man ein (schwebendes) QDockWidget in den Vollbildmodus schaltet. Irgendwelche Lösungen dazu sind sehr willkommen. Tatsächlich verhalten sich die verschiedenen Betriebssysteme zu diesem Zweck unterschiedlich.
Ich habe bereits im Internet ohne Erfolg gesucht, so dass dies mein erster Beitrag hier ist. Bitte verzeihen Sie mir für Rechtschreibfehler ich bin nicht englischer Sprecher, danke;)
p.s. Ich werde auch Osx-Löwen-Verhalten versuchen. Übrigens: Um es auszuprobieren, implementieren Sie einfach den oben gezeigten floatingChanged() - Slot im MainWindow des Qt-Beispiels http://qt-project.org/doc/qt-5.0/qtwidgets/mainwindows-mainwindow.html und verbinden Sie ihn mit einem der vorhandenen Dockwidgets oder innerhalb der MainWindow :: createDockWidget() -Methode.
Auf Osx-Löwe mit Qt 4.8.2 verhält sich auch anders. Das Dock-Widget wird nach dem Aufruf von dw-> showFullScreen() einfach maximiert angezeigt. Dies bedeutet, dass die Titelleiste angezeigt wird/wurde; Win XP hatte ein echtes Vollbild-Verhalten, bei dem auch die Titelleiste abwesend war - das ist es, was ich von einem Vollbildmodus erwarte. – xam
Ich fand eine Art von Arbeit mit Stylesheets. Ich habe es im Qt-Center-Forum erklärt: [link] (http://www.qtcentre.org/threads/54178-QDockWidget-showFullScreen%28%29-only-works-on-Windows). Weitere Hinweise sind sehr willkommen ... – xam
Verhalten sich [dieses minimale Beispiel] (http://ideone.com/RIvk4C) so, wie Sie es in Ihrem Setup beschrieben haben? Es scheint zu funktionieren wie erwartet auf meinem. – brunocodutra