Hallo Forum
Ich habe eine Anwendung mit eine MainWindow und mehreren Dockwidgets.
Nun habe ich folgendes Problem:
Wenn das Dockwidget floating ist und ich eine andere Applikation anklicke z.B. ein Command Fenster verschwindet das Dockwidget
und erscheint wieder wenn ich in meine Applikation klicke.
Gibt es eine Möglichkeit, dass das Dockwidget immer sichtbar bleibt?
Gruß
Peter
QDockwidget immmer sichtbar
Re: QDockwidget immmer sichtbar
Grundsätzlich macht man das über die Methode QWidget::setWindowFlags und dort mit dem Flag Qt::WindowStaysOnTopHint. Ich bin mir nicht zu 100% sicher, wie DockWidgets darauf reagieren. Außerdem möchtest Du es ja nur, wenn das Widget floating ist. Mein Ansatz wäre, auf das Signal QDockWidget::dockLocationChanged zu reagieren und wenn die area==Qt::NoDockWidgetArea (ich gehe davon aus, dass sie das im floating Fall sein wird) setzt Du das flag, sonst "unsetzt" Du das Flag.
Anmerkung: Always on top Fenster haben Ihre Tücken! Wenn Du z.B. einen modalen Dialog in Deiner Anwendung öffnest, passiert es gerne, dass dieser hinter einem always on top Fenster auftaucht. Das ist dann etwas problematisch...
Anmerkung: Always on top Fenster haben Ihre Tücken! Wenn Du z.B. einen modalen Dialog in Deiner Anwendung öffnest, passiert es gerne, dass dieser hinter einem always on top Fenster auftaucht. Das ist dann etwas problematisch...
Re: QDockwidget immmer sichtbar
Hallo brax,
Ich habe das mal ausprobiert und muss sagen QDockwidget nimmt das übel.
Das Fenster sah etwas eigenartig aus und reagierte auch nicht mehr auf Eingaben ??
Ich habe gerade noch einen Tip bekommen der in Richtung WindowFlags geht.
Die flag QT::Tool soll ein solches verhalten verursachen
- closed when application becomes inactive
- shown when application becomes active
Mal sehen ob ich damit weiter komme.
Aber schönen Dank für deine Hilfe.
Ich habe das mal ausprobiert und muss sagen QDockwidget nimmt das übel.
Das Fenster sah etwas eigenartig aus und reagierte auch nicht mehr auf Eingaben ??
Ich habe gerade noch einen Tip bekommen der in Richtung WindowFlags geht.
Die flag QT::Tool soll ein solches verhalten verursachen
- closed when application becomes inactive
- shown when application becomes active
Mal sehen ob ich damit weiter komme.
Aber schönen Dank für deine Hilfe.