我想将上下文菜单添加到我的一个项目的树窗口小部件中:我想要的是,当用户点击其中一个项目时,会出现一个上下文菜单,让用户有机会复制该项目并将其粘贴到另一个职位。
在Qt助手中搜索我发现可以轻松地向QTreeWidgets添加上下文菜单:
treeView->setContextMenuPolicy(Qt::ActionsContextMenu);
treeView->addAction(yourAction1);
这种方法的问题在于,即使树小部件中没有项目,也可以使上下文菜单可用,更不用说识别单击的项目不是直接的事实。
经过一些研究后,我发现有一些方法可以做我想做的事。例如this和this(基本上相同)以及this给出一些想法(以及this)。问题是我不喜欢这些解决方案,我很好奇是否有其他方法可以实现我想要的更多"直接"如上面提到的QTreeWidget可用的方式。请注意我在这里考虑Qt 5.4并转发。