如果只知道一个项的文本值,是否可以将QComboBox设置为该项?我正在尝试避免循环遍历 for i in range(myCombobox.count())
来查找项的索引,以便可以将其用于设置当前索引。
是的,有QComboBox.findText函数,它会返回匹配项的索引(如果没有匹配项,则返回-1
)。默认情况下,搜索会进行精确的区分大小写匹配,但您可以通过将一些match-flags作为第二个参数传递来调整行为。例如,要进行不区分大小写的匹配:
index = combo.findText(text, QtCore.Qt.MatchFixedString)
if index >= 0:
combo.setCurrentIndex(index)
还有一个等效的findData方法,它是通过项目数据进行匹配。
Qt.MatchContains
。 - ekhumoro