Отключить кнопку закрытия QDialogs по умолчанию (верхняя левая "крестовая кнопка")?

Можно ли отключить / удалить кнопку закрытия QDialogs по умолчанию в левом верхнем углу диалогового окна?

5 ответов

По крайней мере, в (встроенном) Linux вы можете сделать это:

setWindowFlags(Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint);

При этом я получаю окно с заголовком, но без кнопок.

Клиринг WindowCloseButtonHint в WindowFlagsможет делать что хочешь. Проверьте пример здесь.

Используйте эту функцию для вашего диалога

dlgLobLobLob->setWindowFlags(Qt::Dialog | Qt::Desktop)

Пытаться setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint | Qt::WindowTitleHint); , Вы можете проверить Пример флагов окна и поиграть, чтобы увидеть эффекты всех возможных комбинаций Window Flags

Это сработало для меня:

setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint)

Другие вопросы по тегам