2013-04-16 2 views
0

модальности работы QDialog это не распространяется при отключении всех кадра с помощью CustomizeWindowHint на setWindowFlags ...Как сохранить modal behabiour в QDialog с Qt :: CustomizeWindowHint?

QDialog dialog(getMainW()); 
dialog.setObjectName("dialog"); 
dialog.setWindowFlags(Qt::CustomizeWindowHint); 
dialog.setWindowModality(Qt::ApplicationModal); 

Когда я комментировать третью строку, она это не распространяется работу на всех. Я сосредотачиваюсь на остальном. Как я могу заставить его работать?

Или как удалить кнопки и рамки без этого?

ответ

2

этот код работает точно на Windows7/x32/Qt 5. *

setWindowFlags(Qt::SplashScreen | Qt::FramelessWindowHint); 

вам не нужно делать ничего о WindowModality.

Есть проблемы с MacOSX, но не успевали заглянуть в их глубины

+0

COOL! Работает так хорошо. Благодарю. – darkgaze

+0

Но интересно о проблемах с MacOSX ... если вы знаете что-то, скажите мне. Я попробую и на Маке. – darkgaze

+1

Ну, чего я пытаюсь достичь в своем коде, это сделать QT-решение для падения модальных всплывающих окон (похоже на то, что MacOSX имеет). Для Windows это довольно хорошо разрешимо с кодом, который я опубликовал + немного сложным кодом для плавной анимации. При создании этого кода будет создан диалог, но он не сможет получить фокус, поэтому он будет отображаться нормально без границы, но будет иметь очень странное поведение. Поскольку приложение, над которым я работаю, является полностью кросс-платформенным решением, я вернусь к этой проблеме в течение следующей недели. Как только у меня будет правильный ответ, я опубликую его. – evilruff

 Смежные вопросы

  • Нет связанных вопросов^_^