我正在尝试为QComboBox安排鼠标按下事件。我想知道是否有任何方法可以在初始 QComboBox点击上安排鼠标按下事件 - 点击该按钮会显示要选择的项目列表。一旦用户从下拉菜单中选择了其中一个项目,我就已经使用currentIndexChanged(int)
信号调用了一个函数,但是我尝试使用新条目刷新我的QComboBox列表点击它。 (我觉得这种做法可能会被误导,但我想这是另一个问题。)
我尝试使用def mousePressEvent(self, e)
创建一个QComboBox子类,但它似乎没有做任何事情。我还在QtGui.QWidget类中尝试def mousePressEvent(self, e)
来保存我的QComboClass对象,但不出所料,它只捕获了QtGui.QWidget的鼠标按下。
答案 0 :(得分:3)
您当前的方法被误导。即使你可以使它工作,只要通过键盘打开列表,它就会失败。
执行此操作的正确方法是覆盖showPopup
:
class ComboBox(QtGui.QComboBox):
def showPopup(self):
self.insertItem(0, 'Added')
super(ComboBox, self).showPopup()