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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проверить выбрано ли действие в меню  (Прочитано 2860 раз)
jatsuk
Гость
« : Май 09, 2011, 14:19 »

Есть QMenu, там 4 действия (как радиобутон).
   
Код:
poisk1Act = new QAction(tr("&Первый поиск"), this);
    [b]poisk1Act->setCheckable(true);[/b]
    connect(poisk1Act, SIGNAL(triggered()), this, SLOT(poisk1()));

   alignmentGroup = new QActionGroup(this);
    alignmentGroup->addAction(poisk1Act);
    alignmentGroup->addAction(poisk2Act);
    alignmentGroup->addAction(poisk3Act);
    alignmentGroup->addAction(poisk4Act);
    poisk1Act->setChecked(true);

Как проверить, какой в данный момент выбран poisk

пробовал isChecked() , ошибк, говорит , что нельзя такое для QAction
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Май 09, 2011, 15:42 »

такой ошибки быть не должно, что-то ты не так пишешь в коде.

А вообще для твоего случая правильнее было бы использовать сигнал
void toggled ( bool checked )
Записан

Юра.
jatsuk
Гость
« Ответ #2 : Май 10, 2011, 07:08 »

Да, это я ошибся с isChecked() всё работает. Не работало, потому что использовал Qt::CheckState (Просто по привычке), а оно только для модели кнопок.

if (  poisk1Act->isChecked() ) И всё работает.
 
Спасибо lit-uriy
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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