Wenn Sie keine Beschriftung Tasten überhaupt, dann können Sie dies erreichen, indem einige window flag hints:
setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint);
Qt-Demo-Anwendung hat eine Beispielanwendung, die Sie mit diesen Flaggen experimentieren können (Qt Demo -> Widgets-> Window Flags) wenn Sie sehen möchten, was verschiedene Kombinationen tun.
Auf der anderen Seite, wenn Sie eine der/Schließen Tasten Minimieren/Maximieren wollen, werden Sie feststellen, zwingt Qt das Systemmenü und Fenstersymbol zu zeigen. Ich denke, das ist Qt verallgemeinern die Plattformen ein wenig, da es sehr einfach ist, Beispiele für native Windows-Dialoge mit a Close-Schaltfläche zu finden, aber ohne das Systemmenü und Fenstersymbol.
In diesem Fall müssen Sie einige Windows-spezifischen Code, ähnlich wie diese (ungetestet) benötigen:
#if defined(Q_WS_WIN)
// don't forget to #include <windows.h>
HWND hwnd = winId();
LONG_PTR style = GetWindowLongPtr(hwnd, GWL_STYLE);
style &= ~WS_SYSMENU; // unset the system menu flag
SetWindowLongPtr(hwnd, GWL_STYLE, style);
// force Windows to refresh some cached window styles
SetWindowPos(hwnd, 0, 0, 0, 0, 0,
SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);
#endif
Edit: Wie swongu kommentierte dies funktioniert nur, wenn Sie ohne einen Schließen-Button haben wollen Systemmenü. Wenn Sie eine Schaltfläche zum Minimieren/Maximieren, aber kein Systemmenü möchten, haben Sie kein Glück.
Welches Betriebssystem? Es wird sicherlich plattformspezifisch (wenn überhaupt möglich) sein. – rohanpm
Oh, Entschuldigung. Für Windows ist aber hoffentlich eine plattformübergreifende Lösung vorhanden. – swongu