Russian Qt Forum
Ноябрь 24, 2024, 19:45 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Синхронное мигание пользовательских виджетов  (Прочитано 4403 раз)
brucemax
Гость
« : Апрель 06, 2012, 10:35 »

Ребят, подскажите какое-нибудь решение..  Есть набор пользовательских виджетов на форме, пользовательский виджет это отдельный класс, в котором помимо прочих функций реализовано мигание..  то есть при определённой команде или ситуации виджет начинает мигать рамкой.. (это уже работает). вопрос в следующем: как сделать мигание разных виджетов синхронным..     скажем..  есть виджеты..  один из них начинает мигать..  через некоторое время мигает ещё один..  и так чтобы не в разнобой с предыдущими.  Спасибо за ранее. 
Записан
mutineer
Гость
« Ответ #1 : Апрель 06, 2012, 10:37 »

сделать один таймер на всех. При включении мигания виджет подписывается на сигнал от этого таймера, при выключении - отписывается
Записан
brucemax
Гость
« Ответ #2 : Апрель 06, 2012, 14:25 »

сделать один таймер на всех. При включении мигания виджет подписывается на сигнал от этого таймера, при выключении - отписывается
а где создавать и запускать этот таймер?
Записан
Bepec
Гость
« Ответ #3 : Апрель 06, 2012, 14:30 »

Допустим в основном классе, который и создаёт виджеты Подмигивающий
Записан
brucemax
Гость
« Ответ #4 : Апрель 06, 2012, 14:38 »

Допустим в основном классе, который и создаёт виджеты Подмигивающий
а может как-то можно через static  в классе виджета?  =)
Записан
Bepec
Гость
« Ответ #5 : Апрель 06, 2012, 14:40 »

А зачем вам такие проблемы?
Записан
popper
Гость
« Ответ #6 : Апрель 06, 2012, 14:47 »

Можно завести класс-диспетчер, хранящий указатели на созданные виджеты. Диспетчер наследуется от QObject, а мигание проводится в QObject::timerEvent ( QTimerEvent * event )
А можно этот же timerEvent переопределить в для MainWindow и использовать QList<T> QObject::findChildren.
« Последнее редактирование: Апрель 06, 2012, 14:51 от popper » Записан
brucemax
Гость
« Ответ #7 : Апрель 06, 2012, 16:16 »

А зачем вам такие проблемы?
Эти самые пользовательские мигающие виджеты лежат в отельной библиотеке, и как-то не очень хочется выносить часть их функционала в другие классы Улыбающийся
Записан
Bepec
Гость
« Ответ #8 : Апрель 07, 2012, 13:25 »

Ну так и заведи в отдельной библиотеке отдельный таймер. м?
Записан
Patrin Andrey
Гость
« Ответ #9 : Апрель 07, 2012, 19:32 »

Цитировать
Эти самые пользовательские мигающие виджеты лежат в отельной библиотеке, и как-то не очень хочется выносить часть их функционала в другие классы Улыбающийся
Если виджет не сам определяет, когда он должен мигнуть, то как раз это и не является частью его функционала. И логичнее логику мигания вынести в отдельный клас и при создании виджета связывать слоты.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 20.