Czy można ustawić obiekt Combobox na element znający wartość tekstową elementu. Próbuję uniknąć przechodzenia przez for i in range(myCombobox.count())
tylko w celu znalezienia indeksu Item, aby mógł zostać użyty do ustawienia combobox na indeks tego elementu.PyQt: Jak ustawić Combobox do pozycji znającej tekst pozycji (tytuł)?
13
A
Odpowiedz
22
Tak, istnieje QComboBox.findText, który zwróci indeks dopasowanego elementu (lub -1, jeśli go nie ma). Domyślnie wyszukiwanie odbywa się dokładnie, przy dopasowywaniu wielkości znaków do wielkości liter, ale można dostosować to zachowanie, przekazując jako drugi argument pewną liczbę match-flags. Na przykład, aby zrobić CASE- niewrażliwego dopasowywania:
index = combo.findText(text, QtCore.Qt.MatchFixedString)
if index >= 0:
combo.setCurrentIndex(index)
Istnieje również odpowiednik findData metoda, która odpowiada w danych elementu.
Rozróżnianie wielkości liter jest w rzeczywistości tym, czego potrzebuję. Ale dobrze wiedzieć, że ustawienia wyszukiwania są sprytne. Dzięki jeszcze raz! – alphanumeric