【发布时间】:2014-05-12 22:19:17
【问题描述】:
是否可以将 QComboBox 设置为只知道项目文本值的项目?我试图避免循环通过for i in range(myCombobox.count()) 只是为了找到一个项目的索引,以便它可以用来设置当前索引。
【问题讨论】:
标签: python pyqt pyqt5 pyside qcombobox
是否可以将 QComboBox 设置为只知道项目文本值的项目?我试图避免循环通过for i in range(myCombobox.count()) 只是为了找到一个项目的索引,以便它可以用来设置当前索引。
【问题讨论】:
标签: python pyqt pyqt5 pyside qcombobox
是的,有QComboBox.findText,它将返回匹配项的索引(或-1,如果没有的话)。默认情况下,搜索会进行精确的、区分大小写的匹配,但您可以通过传递一些 match-flags 作为第二个参数来调整行为。例如,要进行大小写不敏感匹配:
index = combo.findText(text, QtCore.Qt.MatchFixedString)
if index >= 0:
combo.setCurrentIndex(index)
还有一个等效的findData 方法,可以根据项目的数据进行匹配。
【讨论】: