【问题标题】:How to set QComboBox to item from item's text in PyQt/PySide如何在 PyQt/PySide 中将 QComboBox 设置为项目文本中的项目
【发布时间】:2014-05-12 22:19:17
【问题描述】:

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

【问题讨论】:

    标签: python pyqt pyqt5 pyside qcombobox


    【解决方案1】:

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

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

    还有一个等效的findData 方法,可以根据项目的数据进行匹配。

    【讨论】:

    • 区分大小写其实是我需要的。但很高兴知道搜索设置是可调整的。再次感谢!
    猜你喜欢
    • 1970-01-01
    • 2012-01-15
    • 1970-01-01
    • 2012-06-30
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多