how would I pass value to SLOT function ?
Solved
General and Desktop
-
for(int i=0;i<2;i++) { for(int j=0;j<2,j++) { snapshot_action[k]=new QAction(this); snapshot_action[k]->setIconText("Snapshot"); control_menu[k]->addAction(snapshot_action[k]); connect(snapshot_action[k], &QAction::triggered, this, &SimplePlayer::snap_fun); } }
With initially k=0; I have omitted code which lays out four views each with snapshot action. ( for simplicity) Now the problem is when I press snapshot action button of any view I should know somehow that snapshot action button of THAT particular window is pressed. How can I ? How would I pass value of to my snap function? Do I need to store values of 'k' in some array? (some bad idea)
-
Hi,
I usually do such things with the QSignalMapper class. E.g.:
In the header:QSignalMapper m_mapWidget;
In the code:
connect(&m_mapWidget,SIGNAL(mapped(int)),this,SLOT(snap_fun_k(int))); loop k: connect(action,SIGNAL(triggered()),&m_mapWidget,SLOT(map())); m_mapWidget.setMapping(action,k);
-Michael.