Можно ли отключить/удалить кнопку закрытия QDialogs по умолчанию в левом верхнем углу диалогового окна?
Отключить кнопку закрытия QDialogs по умолчанию (верхняя левая крестообразная кнопка)?
Ответы (4)
По крайней мере, в (встроенном) Linux вы можете сделать это:
setWindowFlags(Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint);
При этом я получаю окно с заголовком, но без кнопок.
person
user3912842
schedule
06.08.2014
Очистка WindowCloseButtonHint
в WindowFlags
может сделать то, что вы хотите. Посмотрите пример здесь.
person
Stephen Chu
schedule
01.04.2012
Теперь я попытался настроить окно на
setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowTitleHint);
или setWindowFlags(windowFlags() & ~Qt::WindowCloseButtonHint);
. Проблема в том, что обе идеи по-прежнему оставляют кнопку максимизации, а при максимизации снова появляется кнопка закрытия. Есть идеи?
- person Streight; 02.04.2012
Используйте эту функцию для вашего диалога
dlgLobLobLob->setWindowFlags(Qt::Dialog | Qt::Desktop)
person
Mohammad Sheykholeslam
schedule
28.04.2012
Пробовал так, но к сожалению не работает - доступны все кнопки (закрыть, развернуть, свернуть). Думаю, это зависит от Unity Desktop.
- person Streight; 29.04.2012
Попробуйте setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint | Qt::WindowTitleHint);
. Вы можете проверить пример флагов окна и поэкспериментировать чтобы увидеть эффекты всех возможных комбинаций WindowFlags
person
YamHon.CHAN
schedule
27.03.2013