PyQt: как установить Combobox для элемента, зная текст элемента (заголовок)

можно ли установить Combobox для элемента, зная текстовое значение элемента. Я пытаюсь избежать петли через for i in range(myCombobox.count()) просто найти индекс элемента, чтобы его можно было использовать для установки combobox в индекс этого элемента.

1 ответов


Да нет QComboBox.findText, который вернет индекс сопоставленного элемента (или -1, если его нет). По умолчанию поиск выполняет точное сопоставление с учетом регистра, но вы можете настроить поведение, передав некоторые матч-флаги в качестве второго аргумента. Например, делать дело -нечувствительный согласование:

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

существует также эквивалент findData метод, который соответствует данным элемента.