2

我正在尝试实现 Qt 菜单自定义,并且我提供了一个功能,可以QAction在同一个 RMB 上下文菜单中多次添加相同的功能。但是当我尝试这样做时:

myMenu->addAction( myAction );
myMenu->addAction( myAction );

添加两次,菜单上QAction只出现一个实例。QAction为什么我不能有多个实例QAction?有什么诀窍可以做到这一点吗?我试图克隆/创建具有先前操作的所有属性的新操作。但我不知道获取/提取 aQActionsSENDER属性MEMBER的方法。

4

1 回答 1

1

这是一个深思熟虑的决定。请参阅有关它的文档

QWidget 每个动作应该只有一个,并且添加它已经拥有的动作不会导致相同的动作在小部件中出现两次。

原因可能是没有用例,或者如果有的话,它没有涵盖大多数人想要的东西。

根据您的评论,MS Outlook 允许这样做并且您正在尝试模仿它......我个人只会在用户尝试再次将相同的操作添加到同一菜单时采取警告用户的方法。

于 2014-07-20T07:38:27.850 回答