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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Вопрос по QAction  (Прочитано 3918 раз)
mindz_eye
Гость
« : Декабрь 19, 2006, 18:22 »

Как сделать, чтобы для checkable QAction флаг checked выставлялся через некоторое время после клика по нему?
Иными словами, чтобы в меню нужное действие становилось выбранным только после соответствующего подтверждения сервера.
Пробывал выставлять eventFilter - не помогло =(
Записан
Dendy
Гость
« Ответ #1 : Декабрь 19, 2006, 18:39 »

Ставишь setChekable( false ) и ловишь QAction::triggered(). После ответа сервера ставишь руками setChecked().
Записан
mindz_eye
Гость
« Ответ #2 : Декабрь 19, 2006, 18:44 »

setCheckable( false ) убирает галочки выбранных действий в меню.
Нужно чтобы до ответа сервера предыдущие действие оставалось checked.
Записан
Dendy
Гость
« Ответ #3 : Декабрь 19, 2006, 19:03 »

А если ловить в QAction::toggled( bool ), отсьІлать запрос и ставить значение обратно?
Записан
mindz_eye
Гость
« Ответ #4 : Декабрь 20, 2006, 20:25 »

Можно, но предыдущее значение почему-то не восстанавливается. В слоте triggered делаю
    blockSignals( true );
    toggle();
    blockSignals( false );

После этого все действия оказываются чистыми.
Записан
bigirbis
Гость
« Ответ #5 : Декабрь 20, 2006, 21:18 »

Думаю, по triggered() надо поток стартовать, отсылать запрос на сервер и в нем же ожидать ответа от сервера.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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