【问题标题】:QComboBox mouse press event when combo box is initially pressed PyQt4最初按下组合框时的QComboBox鼠标按下事件PyQt4
【发布时间】:2015-06-30 13:27:26
【问题描述】:

我正在尝试为 QComboBox 安排鼠标按下事件。我想知道是否有任何方法可以在 initial QComboBox 单击时安排鼠标按下事件——该单击会显示要选择的项目列表。一旦用户从下拉菜单中选择其中一个项目,我已经使用currentIndexChanged(int) 信号调用函数,但是一旦用户单击它,我就会尝试用新条目刷新我的 QComboBox 列表。 (我觉得这种方法可能会被误导,但我想这是另一个问题。)

我尝试使用def mousePressEvent(self, e) 创建一个 QComboBox 子类,但它似乎没有做任何事情。我还在 QtGui.QWidget 类中尝试了def mousePressEvent(self, e),该类包含我的 QComboClass 对象,但不出所料,它只捕获 QtGui.QWidget 的鼠标按下。

【问题讨论】:

    标签: python pyqt pyqt4 qcombobox


    【解决方案1】:

    您当前的方法错误的。即使你可以让它工作,只要通过键盘打开列表就会失败。

    正确的做法是覆盖showPopup:

    class ComboBox(QtGui.QComboBox):
        def showPopup(self):
            self.insertItem(0, 'Added')
            super(ComboBox, self).showPopup()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-14
      • 1970-01-01
      • 1970-01-01
      • 2011-08-22
      • 1970-01-01
      相关资源
      最近更新 更多