Qt – QDialog – How to remove the minimize button

kdeqdialogqt

Qt 4.8 based, application – Issue with QDialog, minimize button

  • Windows and Gnome (linux)

    • The modal dialog appears with the close button on the right top, and the minimize button is nonexistent.
    • The minimize option are grayed out in every dialog.
    • This makes sense, since the QDialog is modal – if you minimize it, the whole application will be blocked.

But here comes the issue:

  • in KDE (linux) the minimize-maximize button appears.

It seems that this is a platform dependent feature –

I am not quite sure on what do do.

Any ideas…? (I tried already with a few windowsFlags but could not find the one set that works.

Tried:

  • setWindowFlags( Qt::CustomizeWindowHint | Qt::WindowCloseButtonHint );
  • Qt::WindowFlags flags = getWindowFlags( ); flags |= Qt::WindowMinimizeButtonHint; setWindowFlags(flags)

— But the basic question is why the behavior on Windows/GNOME is different from KDE

Best Answer

if you want the MainWindow don't have any buttons on top use this in constructor of MainWindow:

this->setWindowFlags(Qt::SubWindow);

and if you want to remove just the minimize button use this:

this->setWindowFlags(Qt::Dialog);
Related Topic