簡體   English   中英

在下拉列表中或用戶單擊時填充QComboBox

[英]Populate QComboBox on drop down or user click

嗨,我正在嘗試使用QComboBox填充可以在服務器上找到的數據庫列表。

QComboBox上是否有任何信號可用於將其連接到用戶單擊時可填充QComboBox的方法。

我正在嘗試創建一個對話框,該對話框用於用戶通常在Windows環境中創建數據庫連接的方式,允許他們指定服務器名稱,用戶名和密碼,然后單擊“選擇數據庫”組合框,從服務器檢索數據庫列表,它們可以從列表中選擇一個。

要實現此功能,需要在繼承自QComboBox的自定義類中重新實現mousePressEvent嗎?

您可以使用事件過濾器捕獲mousepress事件。

最小示例:

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')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM