Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: kilanoff от Февраль 14, 2011, 17:05



Название: Определить кто вызвал событие
Отправлено: kilanoff от Февраль 14, 2011, 17:05
есть несколько QAction
объединенных одним

Код:
connect(action1,SIGNAL(triggered()),this,SLOT(event_selectAction()));
connect(action2,SIGNAL(triggered()),this,SLOT(event_selectAction()));
connect(action3,SIGNAL(triggered()),this,SLOT(event_selectAction()));
connect(action4,SIGNAL(triggered()),this,SLOT(event_selectAction()));
....
connect(actionX,SIGNAL(triggered()),this,SLOT(event_selectAction()));

как внутри события

Код:
void MainWindow::event_selectAction(/* [b]что-то типа QAction *sender[/b] */)
{

}

определить , кто вызвал событие?


Название: Re: Определить кто вызвал событие
Отправлено: GreatSnake от Февраль 14, 2011, 17:12
Код
C++ (Qt)
void MainWindow::event_selectAction()
{
   QAction* a = qobject_cast< QAction* >( sender() );
}


Название: Re: Определить кто вызвал событие
Отправлено: kilanoff от Февраль 14, 2011, 17:16
Код
C++ (Qt)
void MainWindow::event_selectAction()
{
   QAction* a = qobject_cast< QAction* >( sender() );
}

огромное спасибо!!! работает!  ;D