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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Список элементов в виджете  (Прочитано 2719 раз)
pakulo
Гость
« : Август 02, 2007, 12:46 »

У меня есть графические элементы на виджете...
Нажимая правую кнопку нужно вывести список всех элементов, делаю я это так:
QMenu *listMenu;
QToolButton *listButton;

Код:
void Class::showList()
{
listMenu->clear();
for (int i = 0; i < mList.size(); ++i)
{
const Element &element = mList.at(i);
QAction *action = listMenu->addAction(element.mIcon, element.mText);
if (i == mCurrentIndex)
{
action->setCheckable(true);
action->setChecked(true);
}
//!!!!!! connect (action, SIGNAL(triggered()), this, SLOT(setCurrentIndex(i))); //!!!!!!!
}
listButton->showMenu();
}


Мне нужно что бы в зависимости от выбраного элемента в меню был выбран элемент в виджете... но сделать я этого могу только с помощью слота setCurrentIndex, который получает как параметр номер элемента...

добавлено спустя 12 минут:

 Сделал немного по хитрому, может у кого будет идеи по лучше...
Загнал в QAction.data номер элемента и уже в слоте:
QAction *action = (QAction*)sender();
setCurrentIndex(action->data().toInt());
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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