sábado, 27 de junio de 2015

8 - Python PyQt (Interfaz gráfica) - Combo Box (Selección de elementos)




En este capítulo del tutorial de Python 3 con PyQt5 veremos como manejar el elemento Combo Box, este objeto nos permite crear una lista de elementos (items), donde el usuario podrá seleccionar un determinado elemento (item).

En el ejemplo veremos como obtener el valor del item seleccionado por el usuario con el método currentText(), como agregar un nuevo item con el método addItem(item) y como eliminar un item con el método removeItem(index del item).

Crearemos un archivo .ui con Designer llamado combobox.ui

Crearemos un cuadro de diálogo y agregaremos:
  • Un Combo Box con nombre lenguajes y agregaremos cuatros items: Python, PHP, Perl y Ruby
  • Un Push Button con nombre boton y texto "Enviar"
  • Y finalmente un Label con nombre labelLenguajes y le quitaremos el texto que viene por defecto.





combobox.pyw


import sys
from PyQt5.QtWidgets import QApplication, QDialog
from PyQt5 import uic

class Dialogo(QDialog):
 def __init__(self):
  QDialog.__init__(self)
  uic.loadUi("combobox.ui", self)
  self.boton.clicked.connect(self.getItem)
  
  #Agregar un nuevo item
  #self.lenguajes.addItem("C++")
  
  #Eliminar un item
  #self.lenguajes.removeItem(0)
  
 def getItem(self):
  item = self.lenguajes.currentText()
  self.labelLenguajes.setText("Has seleccionado: " + item)
  
app = QApplication(sys.argv)
dialogo = Dialogo()
dialogo.show()
app.exec_()