Russian Qt Forum

Qt => Общие вопросы => Тема начата: dr_Begemot от Апрель 24, 2009, 10:46



Название: Проблема при добавлении QAction в QMenu
Отправлено: dr_Begemot от Апрель 24, 2009, 10:46
Столкнулся с такой проблемой...
В QMenu должен быть достаточно большой список QAction, при выборе пользователем какого либо QAction, обработчику нужен лишь индекс (понятно, что QAction в QMenu добавляются последовательно, отсюда и индекс). Как повесить на все QAction один обработчик и как в нем определять какая именно строчка в выпадающем меню была выбрана?

Примечание: Есть некий массив, длина которого равна колличеству QAction в QMenu. В обработчике нужно по индексу извлечь нужный элемент массива.

P.S. Под обработчиком имеется ввиду слот.


Название: Re: Проблема при добавлении QAction в QMenu
Отправлено: Rcus от Апрель 24, 2009, 10:57
QList<QAction *> QWidget::actions () const
int QList::indexOf ( const T & value, int from = 0 ) const

или

void QSignalMapper::setMapping ( QObject * sender, int id )
void QSignalMapper::mapped ( int i )   [signal]


Название: Re: Проблема при добавлении QAction в QMenu
Отправлено: crossly от Апрель 24, 2009, 15:37
или QActionGroup