Всплывающие окна |
Здравствуйте, гость ( Вход | Регистрация )
Всплывающие окна |
breeve |
28.2.2010, 15:00
Сообщение
#1
|
Участник Группа: Участник Сообщений: 188 Регистрация: 26.12.2009 Пользователь №: 1336 Спасибо сказали: 9 раз(а) Репутация: 1 |
Пытаюсь сделать всплывающее окно как в exail'е справа в углу:
Оно появляется на секунд 10 и исчезает. Если наводишь на него то оно становится прозрачным. Если кликаешь по нему, то кликается на окошко позади этого. Т.е. оно на вид прозрачное и по сути тоже является таковым.. Как такое сделать? Пытался сделать класс Всплывающее окошко. наследовал от виджета либо от диалога, с флагом popup. Хотел сделать его с закругленными углами, а оказалось что через style sheet нельзя редактировать внешний вид Qwidget или Qdialog'а. Только если background. Потом пытался сделать через label. Но там тоже засада... Окошко появляется захватывает фокус и все..)) Я ничего не могу сделать. Куда мышкой не нажимаю ничего не происходит.. Ни клава не работает.. Может можно как-то попроще это все сделать? Кто что посоветует? Сообщение отредактировал breeve - 28.2.2010, 15:06 |
|
|
Litkevich Yuriy |
28.2.2010, 15:17
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
offtop: breeve, скажи полное название версии ОСьки на скрине, пожалуйста.
|
|
|
breeve |
28.2.2010, 15:19
Сообщение
#3
|
Участник Группа: Участник Сообщений: 188 Регистрация: 26.12.2009 Пользователь №: 1336 Спасибо сказали: 9 раз(а) Репутация: 1 |
Ubuntu 9.10 - Karmic Koala..
Сообщение отредактировал breeve - 28.2.2010, 15:19 |
|
|
Litkevich Yuriy |
28.2.2010, 15:21
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Т.е. оно на вид прозрачное и по сути тоже является таковым.. См. Окно «прозрачное» для мыши
|
|
|
Rocky |
28.2.2010, 19:59
Сообщение
#5
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
|
|
|
DEADHUNT |
28.2.2010, 20:24
Сообщение
#6
|
Активный участник Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: 2 |
|
|
|
SABROG |
28.2.2010, 21:23
Сообщение
#7
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Как-то слишком просто. Может это решение только для отношения QWidget->QWidget, а окошки операционной системы оно не затрагивает? Просто когда сам искал нашел лишь 2 решения: - делать дырку через setMask под курсором мыши размером 1x1 - рисовать на контекст рабочего стола напрямую средствами ОС Первый вариант плох тем, что нижнему окну постоянно приходят события Hover, LeaveHover и оно себя забавно ведет при таком раскладе, если пытается какой нибудь виджет подсвечивать. А второй вариант плох тем, что изображение быстро затирается при обновлении рабочего стола, поэтому нужно постоянно перерисовывать. И вроде как это приводит к морганию картинки (flickering). --- Всё, я понял, не внимательно прочитал первый пост SASA. У него 2 Qt'шных виджета. Тут ничего общего с окнами, которые пытаются делать люди на WINAPI. Сообщение отредактировал SABROG - 28.2.2010, 22:06 |
|
|
breeve |
28.2.2010, 21:43
Сообщение
#8
|
Участник Группа: Участник Сообщений: 188 Регистрация: 26.12.2009 Пользователь №: 1336 Спасибо сказали: 9 раз(а) Репутация: 1 |
У меня вот такой вопрос сделал так чтобы когда наводишь на него становиться прозрачным..
Делал так, конструктор: Далее moveMouseEvent: А как сделать чтобы если мышь не находиться на виджете то сделать обратно полноцветный? Единственная догадка это считать положение мыши если не входит в QRect(размер виджета), то делать нормальным. |
|
|
Rocky |
28.2.2010, 22:03
Сообщение
#9
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
enterEvent
leaveEvent ? |
|
|
breeve |
28.2.2010, 22:19
Сообщение
#10
|
Участник Группа: Участник Сообщений: 188 Регистрация: 26.12.2009 Пользователь №: 1336 Спасибо сказали: 9 раз(а) Репутация: 1 |
enterEvent leaveEvent ? Спасибо.. Сделал вот так: Еще вопрос. Задумывается приложение которое всегда сидит в трее. у него не должно быть основного окна. А у меня появляется пустое окно. Пытаюсь его скрыть а оно все равно не пропадает. Не могу понять как это сделать.. |
|
|
Текстовая версия | Сейчас: 23.11.2024, 0:22 |