37

是否可以将 QComboBox 设置为仅知道项目文本值的项目?我试图避免循环for i in range(myCombobox.count())只是为了找到一个项目的索引,所以它可以用来设置当前索引。

4

1 回答 1

74

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

    index = combo.findText(text, QtCore.Qt.MatchFixedString)
    if index >= 0:
         combo.setCurrentIndex(index)

还有一个等效的findData方法与项目的数据匹配。

于 2014-04-01T23:21:13.640 回答