我正在从我的应用程序启动时读取的 xml 文件中的条目中填充系统托盘图标菜单 (QMenu)。
我不确定如何正确设置动作的 SLOT 端:
QList<CMenuItem> menuItems = m_layout->getMenuItems();
QListIterator<CMenuItem> iter(menuItems);
while (iter.hasNext())
{
CMenuItem menuItem = iter.next();
QAction *action = new QAction(menuItem.qsTitle, this);
connect(action, SIGNAL(triggered()), this, SLOT(launchMenuItem()));
trayIconMenu->addAction(action);
}
我的“launchMenuItem()”SLOT 如何知道触发了哪个菜单项?我无法为每个菜单项创建一个 SLOT,因为在运行之前我不知道有多少项存在。
我可以想到一些丑陋的方法来做到这一点,但我正在寻找正确的方法。