crossplatform.ru

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

SABROG
  опции профиля:
сообщение 15.4.2010, 8:52
Сообщение #1


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

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

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




Репутация:   34  


Собственный виджет является контейнером для других виджетов. В собственном виджете нужно ловить все движения мышки, в том числе те, которые происходят над детьми. Если курсор мышки оказывается в определенной клиенсткой позиции, предположим в угле виджета, то нужно "снять" последнее изображение, которое содержит собственный виджет (grabWidget(), render() и т.п.), затем убрать/спрятать все дочерние виджеты, отрисовать в paintEvent'e сохранённое изображение. Когда курсор мышки покинет "зону интересов", то все дочерние виджеты снова показать на экране.

В итоге поведение должно выглядеть следующим образом. Двигаем указатель мышки в угол виджета, если там находится какая-нибудь кнопка-ребенок, то клик по ней не отрабатывается, вместо этого поверх ребенка (а точнее поверх скриншота) рисуется своя кнопка, нажатие по которой и обрабатывается собственным виджетом. При покидании "зоны интересов" всё возвращается обратно. Чтобы была возможность работать с дочерней кнопкой находящейся в "зоне интересов" можно выставить паузу. Но реальная цель - сделать анимацию, а не всплывающие кнопки.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- SABROG   Нужны идеи как реализовать поведение собственного виджета   15.4.2010, 8:52
- - igor_bogomolov   Цитата(SABROG @ 15.4.2010, 9:52) нужно ...   15.4.2010, 9:19
- - SABROG   Ок, попробую объяснить на примере QStackedWidget. ...   15.4.2010, 9:27
- - igor_bogomolov   Не могу сказать чего то конкретного. Не делал пока...   15.4.2010, 11:03
- - SABROG   Цитата(igor_bogomolov @ 15.4.2010, 12:03)...   15.4.2010, 11:11
- - Litkevich Yuriy   SABROG, а что если просто наложить виджет, который...   15.4.2010, 11:39
- - SABROG   Цитата(Litkevich Yuriy @ 15.4.2010, 12:39...   15.4.2010, 12:10
- - Litkevich Yuriy   Я никак не могу найти пример с которым я развлекал...   15.4.2010, 12:14
|- - AD   А я на словах все не могу понять, чего хотят добит...   15.4.2010, 12:15
- - SABROG   Цитата(Litkevich Yuriy @ 15.4.2010, 13:14...   15.4.2010, 12:38
|- - BRE   Цитата(SABROG @ 15.4.2010, 13:38) Тут как...   15.4.2010, 13:13
- - SABROG   Цитата(BRE @ 15.4.2010, 14:13) Так может ...   15.4.2010, 13:38
- - Litkevich Yuriy   Нашёл код, который был для меня исходным: Fading E...   15.4.2010, 14:18
- - igor_bogomolov   Цитата(SABROG)Я хочу добиться некой универсальной ...   15.4.2010, 14:27
- - Litkevich Yuriy   Цитата(Litkevich Yuriy @ 15.4.2010, 18:18...   15.4.2010, 14:30
- - SABROG   Хочу такое http://zrusin.blogspot.com/2007/04/fold...   15.4.2010, 15:47
- - igor_bogomolov   Ух ты. Круть. Теперь я тоже хочу такое Нужно найт...   15.4.2010, 16:01
- - SABROG   Цитата(igor_bogomolov @ 15.4.2010, 17:01)...   15.4.2010, 16:14
- - Litkevich Yuriy   SVN-хранилище у них не работает больше, переехали ...   15.4.2010, 16:15
- - igor_bogomolov   ЦитатаSVN-хранилище у них не работает больше, пере...   15.4.2010, 16:22
- - SABROG   Цитата(igor_bogomolov @ 15.4.2010, 17:22)...   15.4.2010, 16:29
- - Litkevich Yuriy   Цитата(igor_bogomolov @ 15.4.2010, 20:22)...   15.4.2010, 16:40
- - Litkevich Yuriy   Хе-хе-хе. А я оказывается ещё тот куркуль. У ме...   23.4.2010, 21:42
- - SABROG   Опяньки, гуляем мужики void Folder:...   23.4.2010, 23:28
- - Litkevich Yuriy   Цитата(SABROG @ 24.4.2010, 3:28) - нужно ...   24.4.2010, 0:25


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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 20.7.2025, 8:12