我正在寻找设置ContextMenuPolicy的正确方法。 对于 Qt5 "QtWidgets.QTableWidget()"
目前,我已经设置了这样的代码。
self.file_table = QtWidgets.QTableWidget()
self.file_table.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
self.context_import = self.file_table.addAction("Import")
self.context_import.triggered.connect(self.launchHelp)
我确实有一个 QMenu 使用这种确切的方法在我的脚本中工作,但是一旦我在 QTableWidget 上应用此方法,脚本就会停止工作,甚至没有发出错误。
值得注意的是,这个脚本在视觉效果软件"SideFX Houdini"中运行,并使用PySide2。
任何人都知道使用Qt5设置上下文菜单的好方法。那里的例子似乎有限。我仍在学习如何阅读Qt5文档:http://doc.qt.io/qt-5/qt.html#ContextMenuPolicy-enum
任何帮助将不胜感激!
一个
事实证明,我需要指定一个 QAction 对象。
我设法使用以下代码解决了这个问题:
self.files_table.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
self.context_import = QtWidgets.QAction("Import", self)
self.context_import.triggered.connect(self._import_action)
self.files_table.addAction(self.context_import)