【问题标题】:Populate QComboBox on drop down or user click在下拉列表或用户单击时填充 QComboBox
【发布时间】:2014-03-26 17:03:42
【问题描述】:

您好,我正在尝试使用 QComboBox 填充可在服务器上找到的数据库列表。

QComboBox 上是否有任何信号可用于将其连接到可在用户单击 QComboBox 时填充 QComboBox 的方法。

我正在尝试创建一个对话框,该对话框使用用户通常在 Windows 环境中创建数据库连接的方式,允许他们指定服务器名称、用户名和密码,然后当他们单击“选择数据库”时组合框从服务器检索数据库列表,他们可以从列表中选择一个。

是否需要在继承自 QComboBox 的自定义类中重新实现 mousePressEvent 才能获得此功能?

【问题讨论】:

    标签: python pyqt5


    【解决方案1】:

    您可以使用事件过滤器来捕获鼠标按下事件。

    小例子:

    class Example(QtGui.QWidget):
    
        def __init__(self):
            super(Example, self).__init__()
    
    
            self.combo = QtGui.QComboBox(self)
            self.combo.installEventFilter(self)
            self.show()
    
        def eventFilter(self,target,event):
            if target == self.combo and event.type() == QtCore.QEvent.MouseButtonPress:
                print "Button press"
                self.fillComboBox()
    
            return False
    
        def fillComboBox(self):
            self.combo.addItem('foo')
            self.combo.addItem('bar')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多