PyQt:如何将Combobox设置为Item知道Item的文本(标题)

alp*_*ric 20 python pyqt pyqt4 qcombobox pyqt5

是否可以将Combobox设置为知道Item的文本值的项目.我试图避免循环for i in range(myCombobox.count())只是为了找到一个Item的索引,所以它可以用来设置一个组合框到该项的索引.

ekh*_*oro 41

是的,有QComboBox.findText,它将返回匹配项的索引(如果没有,则返回-1).默认情况下,搜索会进行精确的区分大小写匹配,但您可以通过传递一些匹配标志作为第二个参数来调整行为.例如,要进行不区分大小写的匹配:

    index = combo.findText(text, QtCore.Qt.MatchFixedString)
    if index >= 0:
         combo.setCurrentIndex(index)
Run Code Online (Sandbox Code Playgroud)

还有一个等效的findData方法,它与项目的数据相匹配.