[英]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.