Si vous ne avez pas besoin de boutons de légende du tout, vous pouvez y parvenir en définissant un certain window flag hints:
setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint);
l'application de démonstration de Qt a un exemple d'application qui vous permet d'expérimenter avec ces drapeaux (Qt Demo -> Widgets-> Window Flags) si vous voulez voir ce que font les différentes combinaisons.
D'autre part, si vous voulez un des cacher/boutons/Fermer, vous remarquerez oblige Qt le menu système et icône de la fenêtre pour apparaître. Je pense que c'est Qt généraliser les plates-formes un peu, car il est très facile de trouver des exemples de dialogues Windows natifs avec un bouton Fermer mais sans le menu système et l'icône de la fenêtre.
Dans ce cas, vous aurez besoin d'un code spécifique de Windows, semblable à celui (non testé):
#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: Comme commenté par swongu, cela ne fonctionne que si vous voulez avoir un bouton de fermeture sans menu du système. Si vous voulez un bouton minimiser/maximiser mais pas de menu système, vous n'avez pas de chance.
Quel système d'exploitation? Ce sera sûrement spécifique à la plate-forme (si possible du tout). – rohanpm
Oh, désolé. Pour Windows, mais nous espérons qu'une solution multiplateforme existe. – swongu