2017-06-29 54 views
0

我有這段代碼的問題。pyQt5:問題更新可編輯組合框

projListlist類型的變量。 self.projPickerQComboBox的一個實例。

self.projPicker.addItems(projList) 
    self.projPicker.currentTextChanged.connect(self.itemListChange) 

def itemListChange(self,value): 
    self.projPathLbl.setText("Project : " + value) 

def itemListUpdate(self): 
    comboItems = [] 
    for item in range (self.projPicker.count()): 
     comboItems.append(self.projPicker.itemText(item)) 
    print(comboItems) 

有了這個代碼,當我在組合框中self.projPathLbl添加文本與itemListChange()功能我每鍵入一個字符時更新。 我的問題是,它與itemListUpdate()的工作方式不同。 有了這個功能,我需要點擊Return鍵才能生效。

如何更新我的self.projPathLbl標籤,方法與更新我的comboItems列表相同(使用返回鍵驗證)?

+0

你試過'editTextChanged'信號了嗎?我不確定它們之間的差異 – PRMoureu

+0

以及如何連接itemListUpdate? – PRMoureu

+0

itemListUpdate通過單擊按鈕觸發。 –

回答

0

也許有這樣做的辦法是實行QComboBox與喜歡這裏的實現按鍵事件的自定義類:PyQt Connect to KeyPressEvent

在按鍵實現,你可以過濾進入鍵,發出你的信號,你可以連接到itemListChange插槽。