Название: Синхронное мигание пользовательских виджетов Отправлено: brucemax от Апрель 06, 2012, 10:35 Ребят, подскажите какое-нибудь решение.. Есть набор пользовательских виджетов на форме, пользовательский виджет это отдельный класс, в котором помимо прочих функций реализовано мигание.. то есть при определённой команде или ситуации виджет начинает мигать рамкой.. (это уже работает). вопрос в следующем: как сделать мигание разных виджетов синхронным.. скажем.. есть виджеты.. один из них начинает мигать.. через некоторое время мигает ещё один.. и так чтобы не в разнобой с предыдущими. Спасибо за ранее.
Название: Re: Синхронное мигание пользовательских виджетов Отправлено: mutineer от Апрель 06, 2012, 10:37 сделать один таймер на всех. При включении мигания виджет подписывается на сигнал от этого таймера, при выключении - отписывается
Название: Re: Синхронное мигание пользовательских виджетов Отправлено: brucemax от Апрель 06, 2012, 14:25 сделать один таймер на всех. При включении мигания виджет подписывается на сигнал от этого таймера, при выключении - отписывается а где создавать и запускать этот таймер?Название: Re: Синхронное мигание пользовательских виджетов Отправлено: Bepec от Апрель 06, 2012, 14:30 Допустим в основном классе, который и создаёт виджеты ;)
Название: Re: Синхронное мигание пользовательских виджетов Отправлено: brucemax от Апрель 06, 2012, 14:38 Допустим в основном классе, который и создаёт виджеты ;) а может как-то можно через static в классе виджета? =)Название: Re: Синхронное мигание пользовательских виджетов Отправлено: Bepec от Апрель 06, 2012, 14:40 А зачем вам такие проблемы?
Название: Re: Синхронное мигание пользовательских виджетов Отправлено: popper от Апрель 06, 2012, 14:47 Можно завести класс-диспетчер, хранящий указатели на созданные виджеты. Диспетчер наследуется от QObject, а мигание проводится в QObject::timerEvent ( QTimerEvent * event )
А можно этот же timerEvent переопределить в для MainWindow и использовать QList<T> QObject::findChildren. Название: Re: Синхронное мигание пользовательских виджетов Отправлено: brucemax от Апрель 06, 2012, 16:16 А зачем вам такие проблемы? Эти самые пользовательские мигающие виджеты лежат в отельной библиотеке, и как-то не очень хочется выносить часть их функционала в другие классы :)Название: Re: Синхронное мигание пользовательских виджетов Отправлено: Bepec от Апрель 07, 2012, 13:25 Ну так и заведи в отдельной библиотеке отдельный таймер. м?
Название: Re: Синхронное мигание пользовательских виджетов Отправлено: Patrin Andrey от Апрель 07, 2012, 19:32 Цитировать Эти самые пользовательские мигающие виджеты лежат в отельной библиотеке, и как-то не очень хочется выносить часть их функционала в другие классы :) Если виджет не сам определяет, когда он должен мигнуть, то как раз это и не является частью его функционала. И логичнее логику мигания вынести в отдельный клас и при создании виджета связывать слоты. |