Проблема с QAction
Есть иконка в трее
У неё есть меню
Код:
m_ptrayIconMenu = new QMenu(this);
Динамически создаём 2 итема
Код:
QAction* act1 = new QAction("Analyze 1 page", this);
connect(act1, SIGNAL(triggered()),
this, SLOT(analyze())
);
QAction* act2 = new QAction("Analyze 2 page", this);
connect(act2, SIGNAL(triggered()),
this, SLOT(analyze())
);
connect(act1, SIGNAL(triggered()),
this, SLOT(analyze())
);
QAction* act2 = new QAction("Analyze 2 page", this);
connect(act2, SIGNAL(triggered()),
this, SLOT(analyze())
);
Такая задача
По нажатию на act1 вызывать одно действие, а по act2 - другое
Конечно, так сделать не выйдет
Тогда нужно вызывать одно и то же действие, но С ПАРАМЕТРОМ:
Код:
QAction* act1 = new QAction("Analyze 1 page", this);
connect(act1, SIGNAL(triggered()),
this, SLOT(analyze("page1"))
);
QAction* act2 = new QAction("Analyze 2 page", this);
connect(act2, SIGNAL(triggered()),
this, SLOT(analyze("page2"))
);
connect(act1, SIGNAL(triggered()),
this, SLOT(analyze("page1"))
);
QAction* act2 = new QAction("Analyze 2 page", this);
connect(act2, SIGNAL(triggered()),
this, SLOT(analyze("page2"))
);
Но увы, так тоже нельзя!
Так как же быть?
Ещё раз обращу внимание, что меню должно вызываться динамически, => количество и сами элементы ЗАРАНЕЕ неизвестны