pyQt5:更新可编辑的ComboBox

时间:2017-06-29 13:34:41

标签: python python-3.x 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标签(使用Return键验证)?

1 个答案:

答案 0 :(得分:0)

也许一种方法是将QComboBox实现为具有已实现的按键事件的自定义类,如下所示:PyQt Connect to KeyPressEvent

在按键实现中,您可以过滤回车键并发出信号,您可以将其连接到itemListChange插槽。