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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Ячейка с выпадающим меню  (Прочитано 2313 раз)
ManOfOrange
Гость
« : Декабрь 22, 2010, 16:16 »

Здравствуйте!

Есть необходимость менять в ячейке таблицы значения из определённого списка.
В своём делегате прописал  в createEditor создание QMenu, на него повесил несколько QAction, теперь всё красивенько отображается.

А теперь туплю и никак не могу понять, как мне получить тот QAction (ту строку в меню), по которому кликнули, чтобы потом записать куда нужно данные.

Подскажите, пожалуйста :-)
Записан
alexman
Гость
« Ответ #1 : Декабрь 22, 2010, 16:18 »

QComboBox используй!
Записан
shirushizo
Гость
« Ответ #2 : Декабрь 22, 2010, 22:04 »

QComboBox используй!
Намного лучше=) А если религия и/или идеология не позволяют - соединяй все QAction с одним слотом и обрабатывай нажатие.

Код:
//при создании редактора
menu->addAction (tr("Action1"), this, SLOT(actionClick()));
...

void MyDelegate::actionClick()
{
   QString selectedText = (qobject_cast<QAction*>(sender()))->text();
   //обработка...
}

С QComboBox в качестве редактора все проще - есть метод currentText() и currentIndex(). Веселый
Записан
ManOfOrange
Гость
« Ответ #3 : Декабрь 23, 2010, 14:33 »

Тьфу ты, а QComboBox-то я и не приметил. Видимо, совсем заработался :-)

Скорее всего, возьму его, но и разъяснение с menu и action пригодится :-)

Большое спасибо за помощь :-)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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