Russian Qt Forum

Qt => Вопросы новичков => Тема начата: billy4685 от Март 03, 2015, 16:36



Название: Как в Qt правильно задать флаги окна?
Отправлено: billy4685 от Март 03, 2015, 16:36
Всем привет. Столкнулся с проблемой, что не могу правильно задать флаги созданному окну. Вернее задаю их, а они как-то некоректно работают. В качества окна использовал как QMainWindow. Для задания флагов пользуюсь функцией setWindowFlags(Qt::WindowFlags type);.

Интерисуют следующие флаги окна (в Qt нашел не все):
- asdialog - не нашел;
- aspalette - не нашел;
- border - не нашел;
- resize - походу это Qt::FramelessWindowHint;
- title - походу это Qt::WindowTitleHint;
- menu - походу это Qt::WindowSystemMenuHint;
- close - походу это Qt::WindowCancelButtonHint;
- help - походу это Qt::WindowContextHelpButtonHint;
- min - походу это Qt::WindowMinimizeButtonHint;
- max - походу это Qt::WindowMaximizeButtonHint;
- collapse - не нашел;
- inline - не нашел.

Проблема состоит в том, что если я хочу к примеру установить чтобы окно было без кнопок, но с панелью Title, окно всеравно имеет кнопку закрыть, хотя она и недоступная (это еще пол беды). А вот к примеру с кнопкой Close похуже будет, в даном случаи доступны и кнопки "свернуть", "развернуть" и закрыть.
Может кто-то сталкивался с подобными проблемами? Я понимаю, что каждая среда разработки имеет свои ньюансы, но должны же быть какие общие правила.

Для большей наглядности приведу табличку с установленными такими флагами для окон созданных в Photon Builder Application.



Название: Re: Как в Qt правильно задать флаги окна?
Отправлено: kambala от Март 03, 2015, 20:12
а ты передаешь флаг Qt::CustomizeWindowHint?


Название: Re: Как в Qt правильно задать флаги окна?
Отправлено: billy4685 от Март 04, 2015, 10:30
а ты передаешь флаг Qt::CustomizeWindowHint?
нет не передавал, сейчас попробую


Название: Re: Как в Qt правильно задать флаги окна?
Отправлено: billy4685 от Март 04, 2015, 10:40
kambala, спасибо) Qt::CustomizeWindowHint как раз похоже на flag border и в сочетании Qt::CustomizeWindowHint | Qt::WindowTitleHint дает флаг Title.