Saltar al contenido

Cómo agregar elementos a un QComboBox en PyQt / PySide

Solución:

Asumiendo list1 es una lista de cadenas, entonces simplemente puede agregarlas todas a la vez usando el método addItems:

self.comboBox_2.clear()
self.comboBox_2.addItems(list1)

Tenga en cuenta que probablemente esté utilizando QApplication.translate de manera incorrecta en tu ejemplo. Si quieres hacer posible que las cadenas de list1 para ser traducido a un idioma diferente, debe hacerlo cuando crear la lista, y usa literales de cadena.

Por ejemplo:

list1 = [
    self.tr('First Item'),
    self.tr('Second Item'),
    self.tr('Third Item'),
    ]

También tenga en cuenta que el _fromUtf8 La función solo es realmente útil si está utilizando cadenas literales que contienen caracteres no ascii en su código; de lo contrario, es básicamente una operación no operativa.

EDITAR

Si su lista contiene, digamos, tuplas de mapas de píxeles y texto, entonces puede usar algo como esto:

self.comboBox_2.clear()
for pixmap, text in list1:
    self.comboBox_2.addItem(QIcon(pixmap), text)

Hay algunas demostraciones / ejemplos simples y fáciles de leer aquí https://github.com/shuge/Enjoy-Qt-Python-Binding,

clonarlo y encontrará una demostración sobre cómo usar el básico QComboBox y personalizar su elemento de icono.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *