Remove minimize button from QDialog
-
wrote on 18 Nov 2010, 14:42 last edited by
Hi all,
I'm working in a Linux application.I need to remove minimize button from a QDialog. I tried some solution without success.
The only one solution that works is:
@
QDialog *parametri_dialog = new QDialog(widget_tab);
parametri_dialog->setWindowFlags(parametri_dialog->windowFlags() | Qt::FramelessWindowHint);
parametri_dialog->show();
@but this way all button disappear and I also can't resize dialog.
If I put the line:
@
parametri_dialog->setWindowFlags(parametri_dialog->windowFlags() & ~(Qt::WindowMinimizeButtonHint));
@nothing happend.
Can you help me?
-
wrote on 18 Nov 2010, 15:13 last edited by
bq. From "Qt::WindowFlags docs":http://doc.qt.nokia.com/4.7/qt.html#WindowType-enum
The CustomizeWindowHint flag is used to enable customization of the window controls. This flag must be set to allow the WindowTitleHint, WindowSystemMenuHint, WindowMinimizeButtonHint, WindowMaximizeButtonHint and WindowCloseButtonHint flags to be changed.So you should also set the Qt::CustomizeWindowHint flag.
-
wrote on 18 Nov 2010, 16:20 last edited by
I tried this:
@
parametri_dialog->setWindowFlags(parametri_dialog->windowFlags() & ~(Qt::WindowMinimizeButtonHint) & Qt::CustomizeWindowHint);
@but now dialog doesn't show nothing...
-
wrote on 18 Nov 2010, 18:12 last edited by
Now I tried windowflags Qt example (from qt source) and there is no possibility to remove only minimize button an keep the possibility to move the dialog and resize it.
Can someone confirm me this?
-
wrote on 18 Nov 2010, 22:20 last edited by
This works for me:
@
#include <QApplication>
#include <QDialog>int main(int argc, char *argv[])
{
QApplication a(argc, argv);
a.connect(&a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()));QDialog d; d.setWindowFlags( Qt::CustomizeWindowHint | Qt::WindowCloseButtonHint ); d.setWindowTitle("abcd"); d.show(); return a.exec();
}
@You might set some other window flags too.
-
wrote on 19 Nov 2010, 07:21 last edited by
... unfortunately doesn't works form me.
Are you using Linux or Windows?
-
wrote on 19 Nov 2010, 11:52 last edited by
I'm on a Mac.
On Linux, you might want to add Qt::WindowTitleHint to the flags.
Window decoration is platform dependend, so it could be that your approach is not achievable at all.
-
wrote on 19 Nov 2010, 14:54 last edited by
Thanks, now I think it's not possible in linux.
8/8