2017-06-29 16 views
0

私はこのコードに問題があります。pyQt5:編集可能なComboBoxの更新の問題

projListは、タイプlistの変数です。 self.projPickerは、QComboBoxのインスタンスです。私はコンボボックスself.projPathLblでのテキストを追加し、このコードで

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) 

は、 itemListChange()機能で、私は文字を入力するたびに更新されます。 私の問題は、 itemListUpdate()と同じ方法で動作しないということです。 この機能を有効にするには、更新のReturnキーを押す必要があります。

self.projPathLblラベルを更新する方法は、comboItemsリストを更新するのと同じ方法です(Returnキーで検証します)。

+0

あなたは 'editTextChanged'シグナルを試しましたか?私はそれらの違いについてはわからない – PRMoureu

+0

とどのようにitemListUpdateに接続しますか? – PRMoureu

+0

itemListUpdateは、ボタンをクリックするとトリガされます。 –

答えて

0

たぶん、それを行うための一つの方法は、ここのような実装のキープレスイベントでカスタムクラスとしてQComboBoxを実装することです:あなたは、キー入力して信号を発するフィルタリングすることができるキー操作の実装ではPyQt Connect to KeyPressEvent

、そのことができますitemListChangeスロットに接続します。

関連する問題