Ich möchte den randlosen modalen Dialog minimieren, so dass es in der Taskleiste bleiben sollte. Das Problem ist, der Dialog mit dem unteren Rand des Bildschirms minimiert:Minimieren grenzenlosen Dialog Problem
Screenshot:
Code:
setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint);
setWindowModality(Qt::ApplicationModal);
this->setWindowState(Qt::WindowMinimized);
Auch dieser Dialog ist nicht die Haupt Fenster, so denke ich, sollte es beide minimiert werden, wenn Sie im Dialog auf Minimieren klicken und das Problem in einem anderen nicht-randlosen modalen Dialog auftritt.
Screenshot mit minimierter modaler Dialog mit Grenzen:
Ich benutze Qt 5.9.2
auf 10. Windows Wie dieses Problem zu beheben? Danke im Voraus.
Dies passiert, wenn Ihr Dialog ein übergeordnetes Fenster hat, das momentan nicht sichtbar ist. Versuchen Sie, Ihren Dialog ohne Eltern zu erstellen, d. H. 'SetParent (nullptr)'. (Dies bedeutet auch, dass Sie es selbst löschen müssen) – Felix
@Felix Ja, ich weiß, dieses Problem tritt nur auf, wenn Eltern festgelegt wurde. Beim Entfernen des Elternteils funktioniert es gut. Ich dachte, es wäre ein Fehler in Qt? – Cobra91151
Es ist beabsichtigt, da Ihr Dialog keinen eigenen Taskleisteneintrag hat. So wird es auf diese Weise minimiert. Es ist pro Design auf Windows und kein Fehler von Qt. Unter Linux werden beispielsweise beide Fenster gleichzeitig minimiert. Also für Windows ist dies das natürliche Verhalten – Felix