Cómo usar Pyqt QcomboBox

Cómo usar Pyqt QcomboBox

A Caja combo se usa para seleccionar un elemento de una lista de elementos, al igual que el botón de radio. El QCOMBOBOX La clase de Pyqt se usa para crear listas desplegables utilizando el script de Python. Menciona una lista de elementos para que el usuario seleccione. Los elementos del comboBox se pueden agregar, cambiar y eliminar usando el script. Se pueden seleccionar varios elementos como el botón de casilla de verificación de la lista de elementos desde el comboBox, luego se llama ListBox. Este tutorial le muestra cómo usar QComboBox para crear una lista desplegable en Python.

Métodos de QcomboBox

La clase QcomboBox contiene muchos métodos para realizar diversas tareas relacionadas con Combobox. Algunos de los métodos más utilizados de esta clase se describen a continuación:

Nombre del método Objetivo
contar() Se utiliza para contar el número total de elementos en la lista.
añadir artículo() Se usa para agregar un solo elemento nuevo a la lista.
AddItems () Se usa para agregar varios elementos a la lista.
itemText () Utilizado para leer el texto de un elemento en particular basado en un índice.
setItemText () Utilizado para establecer el texto de un elemento en particular basado en un índice.
CurrentText () Se usa para leer el texto del elemento seleccionado.
CurrentIndex () Se utiliza para leer el índice del elemento seleccionado.
claro() Se usa para eliminar todos los elementos de la lista.
resaltado () Utilizado cuando se resalta un elemento en la lista.
activado() Utilizado cuando el usuario selecciona un elemento.
CurrentIndexChanged () Utilizado cuando el elemento en la lista ha cambiado.

Uso de Combobox

Las siguientes secciones proporcionan ejemplos que explican algunos usos diferentes del comboBox utilizando el módulo QcomboBox de la biblioteca PYQT.

Ejemplo 1: crear una lista desplegable simple

Este ejemplo le muestra cómo crear una lista desplegable simple utilizando la clase QComboBox. Aquí, se crea una lista desplegable de cinco elementos y se adjunta a una función personalizada que imprimirá el valor seleccionado de la lista. Se usa una etiqueta en la función de la lista desplegable para mostrar texto estático, y otra etiqueta se usa debajo de la lista desplegable para mostrar el valor seleccionado.

# Importar módulos necesarios
Sys de importación
de pyqt5.QtWidgets Import (QApplication, QWidget, Qlabel, QvboxLayout, QComboBox)
# Declare la clase para crear el comboBox
clase comboExample (QWidget):
def __init __ (self):
súper().__en eso__()
# Establezca la etiqueta antes del comboBox
ser.toplabel = Qlabel ('Seleccione su lenguaje de programación favorito:', Self)
# Defina el Combobox con elementos
Combobox = QComboBox (self)
caja combo.AddItem ('PHP')
caja combo.Additem ('Python')
caja combo.AddItem ('Perl')
caja combo.Additem ('Bash')
caja combo.Additem ('Java')
# Establezca la etiqueta después del comboBox
ser.BottomLabel = Qlabel (", Self)
ser.etiqueta inferior.Ajustar ()
# Definir un cuadro de diseño vártico
v_layout = qvboxLayout ()
V_LAYOUT.addwidget (yo.Toplabel)
V_LAYOUT.AddWidget (Combobox)
V_LAYOUT.addwidget (yo.BottomLabel)
# Llame al método personalizado si se selecciona algún elemento
caja combo.activado [str].conectar (yo.OnSelected)
# Establezca las configuraciones para la ventana
ser.SetContentsMargins (20, 20, 20, 20)
ser.setLayout (v_layout)
ser.Mover (800, 300)
ser.setwindowtitle ('uso de comboBox')
# Función personalizada para leer el valor del elemento seleccionado
Def onSelected (self, txtval):
txtval = "\ nyou ha seleccionado:" + txtval
ser.etiqueta inferior.setText (txtval)
# Crear objeto de aplicación y ejecutar la aplicación
APP = QAPPLICATION (SYS.argv)
Combobox = comboExample ()
caja combo.espectáculo()
aplicación.exec ()

Si el usuario hace clic en la lista desplegable después de ejecutar el script, aparecerá la siguiente lista.

Si el usuario selecciona el valor Intento Desde la lista desplegable, el valor de la segunda etiqueta se cambiará a 'Has seleccionado: Bash.'

Ejemplo 2: crea un comboBox usando la lista

En el ejemplo anterior, la lista desplegable se creó con datos estáticos utilizando el método AddItem () de la clase QCOMBOBOX. Este ejemplo le muestra cómo agregar varios elementos en la lista desplegable definiendo una lista de Python. Primero, agregaremos texto estático al primer elemento de la lista desplegable utilizando el método AddItem (). A continuación, definiremos una lista de cinco elementos en el script, y agregaremos estos elementos a la lista desplegable utilizando el método AddItems (). Se adjunta una función personalizada a la lista desplegable para mostrar el mensaje en la etiqueta basada en la selección del usuario.

# Importar módulos necesarios
Sys de importación
de pyqt5.QtWidgets Import *
# Declarar la clase para crear Combobox utilizando datos de la lista
clase comboExample (QMainWindow):
def __init __ (self):
súper().__en eso__()
# Establezca el titillo de la ventana
ser.setWindowtitle ("Combobox con datos de la lista")
# Establezca la geometría para la ventana
ser.SetGeometry (100, 100, 350, 150)
# Crea Combobox
ser.Combobox = QComboBox (self)
# Establezca la geometría para el Combobox
ser.caja combo.SetGeometry (30, 30, 200, 30)
# Definir elementos de la lista para el Combobox
src_engines = ["Google.com "," Yahoo.com "," pregunta.com "," Baidu.com "," Yandex.com "]
# Habilitar la opción editable del comboBox
ser.caja combo.setEditable (verdadero)
# Establezca el primer elemento para el Combobox
ser.caja combo.AddItem ("Seleccione el motor de búsqueda")
# Agregar múltiples elementos en el comboBox usando la lista
ser.caja combo.Aditems (SRC_Engines)
# Definir etiqueta en la parte inferior de Combobox para proporcionar un mensaje para el usuario
ser.msglabel = qlabel (", self)
# Establezca la geometría para la etiqueta
ser.msglabel.SetGeometry (30, 60, 290, 60)
# Llame a la función personalizada cuando se seleccione cualquier elemento
ser.caja combo.activado [str].conectar (yo.Onclicked)
# Mueva la posición de la ventana
ser.Mover (800, 400)
# Muestra la ventana
ser.espectáculo()
# Defina un método para manejar el evento de clic del Combobox
Def Onclicked (Self, Val):
# Verificar cualquier elemento es seleccionado por el usuario o no
Si val == "Seleccione el motor de búsqueda":
mensaje = "No has seleccionado nada."
demás:
Mensaje = "Tu motor de búsqueda favorito es" + Val
# Muestra el texto del mensaje en la etiqueta
ser.msglabel.setText (mensaje)
# Muestra el mensaje en la consola
Imprimir (mensaje)
# Crea el objeto de aplicación
APP = QAPPLICATION (SYS.argv)
# Crear un objeto del objeto de clase
combo = comboExample ()
# Ejecutar la aplicación
aplicación.exec ()

Si el usuario hace clic en la lista desplegable después de ejecutar el script, entonces aparecerá la siguiente lista.

Si el usuario selecciona cualquier elemento, excepto el primer elemento en la lista desplegable, entonces el valor seleccionado se mostrará en la etiqueta combinando con el otro texto.

Si el usuario selecciona el primer elemento en la lista desplegable, entonces el valor ','No has seleccionado nada'se mostrará en la etiqueta.

Conclusión

Este artículo le mostró cómo crear y usar listas desplegables en Python usando el QCOMBOBOX clase usando ejemplos simples para ayudarlo a comprender mejor el uso de esta clase.