È possibile impostare Combobox su un oggetto conoscendo il valore di testo di un articolo. Sto cercando di evitare di eseguire il ciclo attraverso for i in range(myCombobox.count())
solo per trovare l'indice di un articolo in modo che possa essere utilizzato per impostare una casella combinata all'indice di quell'elemento.PyQt: Come impostare Combobox sull'oggetto conoscendo il testo dell'articolo (un titolo)
13
A
risposta
22
Sì, c'è QComboBox.findText, che restituirà l'indice dell'elemento corrispondente (o -1, se non ce n'è uno). Per impostazione predefinita, la ricerca esegue una corrispondenza esatta, sensibile al maiuscolo/minuscolo, ma è possibile modificare il comportamento passando alcuni match-flags come secondo argomento. Ad esempio, per fare maiuscole insensibile corrispondenza:
index = combo.findText(text, QtCore.Qt.MatchFixedString)
if index >= 0:
combo.setCurrentIndex(index)
C'è anche un metodo equivalente findData che corrisponde dai dati dell'elemento.
La distinzione tra maiuscole e minuscole è in realtà ciò di cui ho bisogno. Ma è bello sapere che le impostazioni di ricerca sono modificabili. Grazie ancora! – alphanumeric