【发布时间】:2016-04-14 05:39:00
【问题描述】:
我正在尝试使用右键菜单扩展 QComboClass,并为其提供将当前索引设置为 -1 的选项(清除选择)。我无法调用上下文菜单甚至右键单击事件。
class ComboBox(QComboBox):
def __init__(self, *args, **kwargs):
super(ComboBox, self).__init__()
self.setContextMenuPolicy(Qt.CustomContextMenu)
self.customContextMenuRequested.connect(self.showMenu)
def showMenu(self, pos):
menu = QMenu()
clear_action = menu.addAction("Clear Selection", self.clearSelection)
action = menu.exec_(self.mapToGlobal(pos))
def clearSelection(self):
self.setCurrentIndex(-1)
谁能告诉我我做错了什么?
【问题讨论】:
-
您的示例代码非常适合我。究竟是什么问题?也许你应该给出一个更完整的例子来说明你是如何使用这个类的。
-
我搞砸了我如何使用这个类,我从一个已弃用的模块中获得了另一个同名的类,但没有实现这个。这就是代码不起作用的原因。花了一段时间才意识到这一点! :\
-
我知道这个线程大约有一年的历史,但你真的应该选择
pyqt5或pyqt4,因为插槽和信号处理在两者之间是不同的。