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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Отслеживать доступность кнопки  (Прочитано 3615 раз)
xTr1m
Гость
« : Январь 11, 2011, 11:03 »

Доброго времени суток. Есть кнопка, в самом начале она задизаблена. При определенных условиях она становится доступной. У меня такой вопрос: есть ли в Qt какие-то специальные механизмы, которые позволяют отслеживать состояния кнопок? Для примера могу привести вариант из MFC, где можно было определить функцию с условием, которая сама периодически вызывалась и "управляла" таким образом состоянием кнопки.

Конечно я могу руками следить за всем этим делом, но Qt штука мощная, может я просто не знаю.
Записан
merke
Гость
« Ответ #1 : Январь 11, 2011, 11:08 »

isEnabled() ?
Записан
xTr1m
Гость
« Ответ #2 : Январь 11, 2011, 11:31 »

Нет, я имею в виду примерно следующее. Еще раз приведу аналогию с вариантом из MFC. Определяю функцию, в которой примерно такой код:

void CDialog::OnButtonPropUpdate(CCmdUI *cmd)
{
    cmd->Enable( m_list.GetSelectedItems() > 0 ? TRUE : FALSE);
}

И кнопка дизаблилась / раздизабливалась сама. То есть мне не нужно отслеживать клики на списке и т.п.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Январь 11, 2011, 11:58 »

В Кьюте абсолютно то же самое. Коннектишь сигнал triggered у QAction в меню на свой слот, в котором и устанавливаешь setEnabled.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
twp
Гость
« Ответ #4 : Январь 11, 2011, 12:28 »

В Qt нет прямого аналога как в MFC или Delphi, который используется в этом примере
Записан
_govorilka
Гость
« Ответ #5 : Январь 11, 2011, 13:27 »

При это несколько QAction можно объединить с помощью QActionGroup.
Записан
xTr1m
Гость
« Ответ #6 : Январь 11, 2011, 15:05 »

Всем спасибо, картина стала мне ясна
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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