如何以直接方式将上下文菜单添加到QTreeWidgetItem而不是QTreeWidget?

时间:2015-07-28 13:44:02

标签: qt contextmenu qtreeview

我想将上下文菜单添加到我的一个项目的树窗口小部件中:我想要的是,当用户点击其中一个项目时,会出现一个上下文菜单,让用户有机会复制该项目并将其粘贴到另一个职位。

在Qt助手中搜索我发现可以轻松地向QTreeWidgets添加上下文菜单:

treeView->setContextMenuPolicy(Qt::ActionsContextMenu);
treeView->addAction(yourAction1);

这种方法的问题在于,即使树小部件中没有项目,也可以使上下文菜单可用,更不用说识别单击的项目不是直接的事实。

经过一些研究后,我发现有一些方法可以做我想做的事。例如thisthis(基本上相同)以及this给出一些想法(以及this)。问题是我不喜欢这些解决方案,我很好奇是否有其他方法可以实现我想要的更多"直接"如上面提到的QTreeWidget可用的方式。请注意我在这里考虑Qt 5.4并转发。

0 个答案:

没有答案