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.