crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Как сделать диалоговую форму поверх всех окон в Виндосе
sibmail
  опции профиля:
сообщение 9.4.2009, 9:44
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 63
Регистрация: 20.3.2009
Пользователь №: 626

Спасибо сказали: 0 раз(а)




Репутация:   0  


Как сделать диалоговую форму поверх всех окон в Виндосе

Цитата(sibmail @ 9.4.2009, 9:32) *
Как сделать диалоговую форму поверх всех окон в Виндосе


Все! Сделал! Qt::WindowStaysOnTopHint

Client_Dialog :: Client_Dialog (QWidget *parent) : QDialog(parent,Qt::WindowStaysOnTopHint)
....
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_KFX_*
сообщение 20.5.2010, 21:36
Сообщение #2





Гости








    


Цитата(sibmail @ 9.4.2009, 9:44) *
Как сделать диалоговую форму поверх всех окон в Виндосе

Цитата(sibmail @ 9.4.2009, 9:32) *
Как сделать диалоговую форму поверх всех окон в Виндосе


Все! Сделал! Qt::WindowStaysOnTopHint

Client_Dialog :: Client_Dialog (QWidget *parent) : QDialog(parent,Qt::WindowStaysOnTopHint)
....


А как во время работы программы изменить этот флаг? например по нажатию на кнопку. Проблема в том, что если назначить этот флаг в setWindoWFlag, то окно пропадает и надо сделать show(); что не выглядит красиво особенно для полноэкранных приложений (видно, как окно скрывается и показывается). Можно как-то обойти это?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 21.5.2010, 4:44
Сообщение #3


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


надо учитывать и другие флажки, примерно так:
widget->setWindowState(widget->windowState() ^ Qt::WindowStaysOnTopHint)

здесь операция "исключающего ИЛИ" инвертирует состояние флага Qt::WindowStaysOnTopHint, а остальные флажки остаются неизменными.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 3.9.2010, 7:57
Сообщение #4


фрилансер
******

Группа: Участник
Сообщений: 2901
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


да, с утреца нашёл как сделать поверх ) Видать, я уже сильно засыпАл вчера

у меня это теперь выглядит так
//без фрейма + всегда наверху + без кнопки на тулбаре
setWindowFlags(windowType()|Qt::FramelessWindowHint|Qt::WindowStaysOnTopHint|Qt::Tool);




упс, не туда запостил ) Ну да ладно, пусть тут валяется

Сообщение отредактировал Алексей1153 - 3.9.2010, 7:58
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.10.2020, 5:04