3

在创建动态菜单时,我经常需要关联信号来响应特定的索引值(例如,与该菜单项关联的数据库行标识符)。为此,我似乎需要使用下面的代码,这感觉就像是 hack。

QActionGroup *oneOffgroup = new QActionGroup(menu);
QAction *action = new QAction(tr("New text form..."),menu);
action->setData( writingSystem.id() );
oneOffgroup->addAction(action);
connect( oneOffgroup, SIGNAL(triggered(QAction*)), this, SLOT(newTextForm(QAction*)) );
submenu->addAction(action);

这个答案建议使用 QMenu::triggered(QAction*) 信号。不过,这只是意味着我必须整理发送到该菜单的每个信号。(这在某些情况下是可以的,但不是在我目前正在研究的情况下。)

4

0 回答 0