2015-04-22 87 views
1

我試圖爲QComboBox安排一個鼠標按下事件。我想知道是否有任何方法可以在初始上安排鼠標按下事件。QComboBox單擊 - 打開要選擇的項目列表的單擊。我已經使用currentIndexChanged(int)信號來調用一個函數,一旦用戶從下拉菜單中選擇了一個項目,但我試圖用新的條目刷新我的QComboBox列表,一旦用戶點擊它。 (我有一種感覺,這種方法可能會被誤導,但我想這是另一個問題。)當組合框被初始按下時QComboBox鼠標按下事件PyQt4

我試過用def mousePressEvent(self, e)做一個QComboBox子類,但它似乎沒有做任何事情。我也在QtGui.QWidget類中嘗試了def mousePressEvent(self, e),該類包含我的QComboClass對象,但不出所料,它只捕獲QtGui.QWidget的鼠標按下。

回答

3

您目前的做法誤導。即使你能使它工作,只要通過鍵盤打開列表,它就會失敗。

正確的方式做,這是覆蓋showPopup

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