Pitón

Cómo usar la casilla de verificación PyQt?

Cómo usar la casilla de verificación PyQt?

La casilla de verificación se usa para seleccionar cero o más opciones de muchas opciones usando la interfaz gráfica de usuario. Se puede crear un formulario con una casilla de verificación utilizando QCheckBox clase en una secuencia de comandos de Python o usando la QCheckBox widget de Diseñador Qt sin escribir ningún guion.

Cuando se crea un formulario con una casilla de verificación utilizando QCheckBox clase, entonces stateChanged.conectar() se llama a la función para aplicar la acción realizada por la entrada del usuario. Si el usuario marcó cualquier opción de casilla de verificación, entonces el valor de QtCore.Qt.comprobado será verdad. Se pueden crear varias casillas de verificación con una sola selección, como el botón de radio, usando QbuttonGroup clase.

En este tutorial se muestra cómo se puede crear un formulario con una casilla de verificación escribiendo un script de Python.

Métodos necesarios de QCheckBox

QCheckBox la clase tiene muchas funciones para hacer diferentes tipos de tareas con la casilla de verificación. Algunos de los métodos más utilizados de esta clase se describen a continuación:

Nombre del método Propósito
está chequeado() Devuelve un valor booleano. Cuando el usuario hace clic para marcar la casilla de verificación, devuelve Verdadero; de lo contrario, devuelve Falso.
setChecked () Se utiliza para cambiar el estado de la casilla de verificación. El valor verdadero se establece para que la casilla de verificación esté marcada y el valor Falso se establece para que la casilla de verificación esté desmarcada.
texto() Se utiliza para leer la etiqueta de la casilla de verificación.
setText () Se utiliza para establecer la etiqueta de la casilla de verificación.
isTriState () Devuelve un valor booleano. Se usa para verificar el tri-estado para saber si la casilla de verificación está habilitada o no.
setTriState () Se utiliza para habilitar el tercer estado de la casilla de verificación que indica el estado neutral.

Cree un formulario con casilla de verificación utilizando la clase QCheckBox:

Los usos de la casilla de verificación se muestran en esta sección utilizando diferentes tipos de ejemplos. El uso de una sola casilla de verificación, como se muestra en el primer ejemplo, y el uso de múltiples casillas de verificación se muestran en el segundo ejemplo.

Ejemplo 1: Creación de una casilla de verificación única

La forma de crear una única casilla de verificación usando QCheckBox clase y la lectura del valor de entrada de la casilla de verificación proporcionada por el usuario se muestran en este ejemplo. Los módulos necesarios se importan al comienzo del script. Se utiliza una etiqueta en la casilla de verificación anterior para proporcionar la información al usuario. Si el usuario hace clic en la casilla de verificación para marcar, el script se imprimirá, "Guau! Te gusta programar", De lo contrario, el script se imprimirá,"Oh no!, No te gusta programar".

# Importar módulos necesarios
importar sys
desde PyQt5 importar QtCore, QtWidgets
de PyQt5.QtWidgets importan QMainWindow, QCheckBox, QLabel, QVBoxLayout, QDesktopWidget
# Defina la clase para crear el formulario con una sola casilla de verificación
clase SingleCheckbox (QMainWindow):
def __init __ (yo):
súper().__en eso__()
# Crea el texto de la etiqueta para el usuario
lb = QLabel ("¿Te gusta programar?", uno mismo)
lb.setGeometry (20, 20, 200, 20)
lb.mover (20, 20)
# Crea una casilla de verificación con la etiqueta
cb = QCheckBox ('Sí', yo)
cb.stateChanged.conectar (uno mismo.Checar respuesta)
cb.mover (20, 50)
# Establecer el diseño de Qt vertical
vbox = QVBoxLayout ()
vbox.addWidget (lb)
vbox.addWidget (cb)
# Establecer el título y el tamaño de la ventana
uno mismo.setWindowTitle ('Formulario con casilla de verificación única')
uno mismo.setGeometry (60, 60, 300, 100)
# Mostrar la ventana en el centro de la pantalla
ganar = uno mismo.frameGeometry ()
pos = QDesktopWidget ().availableGeometry ().centrar()
ganar.moveCenter (pos)
uno mismo.mover (ganar.arriba a la izquierda())
uno mismo.show()
# Definir función para verificar la entrada del usuario
def Check_Answer (self, state):
si estado == QtCore.Qt.Comprobado:
imprimir ("Wow! Te gusta programar.")
demás:
print ("Oh no!, No te gusta programar.")
# Crea el objeto de la aplicación y ejecuta la aplicación
aplicación = QtWidgets.QApplication (sys.argv)
formulario = SingleCheckbox ()
aplicación.ejecutivo ()

La siguiente ventana con una casilla de verificación aparecerá después de ejecutar el script.


En el siguiente resultado, el usuario ha marcado la casilla de verificación dos veces y desmarcó la casilla de verificación una vez.

Ejemplo 2: creación de varias casillas de verificación

El método de crear múltiples casillas de verificación usando QCheckbox La clase y la lectura de múltiples valores de las múltiples casillas de verificación se muestran en este ejemplo. Se agregan dos etiquetas y tres casillas de verificación a la ventana. La primera etiqueta se agrega al comienzo de las casillas de verificación para proporcionar información para el usuario, mientras que la segunda etiqueta se agrega al final de las casillas de verificación para mostrar los valores de la casilla de verificación o casillas de verificación seleccionadas.

# Importar módulos necesarios
importar sys
de PyQt5.Importación de QtWidgets (QWidget, QCheckBox, QApplication, QVBoxLayout, QLabel, QDesktopWidget)
# Definir clase para crear el formulario con múltiples casillas de verificación
clase MultipleCheckbox (QWidget):
def __init __ (yo):
súper().__en eso__()
# Establecer el texto de la etiqueta para el usuario
lb = QLabel ("Seleccione su (s) comida (s) favorita (s):", self)
lb.setGeometry (20, 20, 100, 20)
lb.mover (20, 20)
# Crea tres casillas de verificación
cb1 = QCheckBox ('Pastel de chocolate', yo)
cb1.mover (20, 70)
cb1.stateChanged.conectar (lambda: self.Valor_seleccionado (cb1))
cb2 = QCheckBox ('Helado', uno mismo)
cb2.mover (20, 90)
cb2.stateChanged.conectar (lambda: self.Valor_seleccionado (cb2))
cb3 = QCheckBox ('Pasta', uno mismo)
cb3.mover (20, 110)
cb3.stateChanged.conectar (lambda: self.Valor_seleccionado (cb3))
uno mismo.label = QLabel ('Nada seleccionado')
uno mismo.etiqueta.mover (20, 150)
# Establecer el diseño de Qt vertical
vbox = QVBoxLayout ()
vbox.addWidget (lb)
vbox.addWidget (cb1)
vbox.addWidget (cb2)
vbox.addWidget (cb3)
vbox.addWidget (self.etiqueta)
uno mismo.setLayout (vbox)
uno mismo.setWindowTitle ('Formulario con varias casillas de verificación')
uno mismo.setGeometry (60, 60, 350, 200)
uno mismo.lblText = "
# Mostrar la ventana en el centro de la pantalla
ganar = uno mismo.frameGeometry ()
pos = QDesktopWidget ().availableGeometry ().centrar()
ganar.moveCenter (pos)
uno mismo.mover (ganar.arriba a la izquierda())
uno mismo.show()
# Definir función para leer la entrada del usuario
def Valor_seleccionado (self, btn):
si yo mismo.lblText != ":
str = self.lblText
strArray = str.separar(' ,')
uno mismo.lblText = "
para val en strArray:
si btn.texto() != val:
si yo mismo.lblText == ":
uno mismo.lblText = val
demás:
uno mismo.lblText + = ',' + val
si btn.isChecked () == Verdadero:
si yo mismo.lblText == ":
uno mismo.lblText = btn.texto()
demás:
uno mismo.lblText + = ',' + btn.texto()
demás:
si btn.isChecked () == Verdadero:
si yo mismo.lblText == ":
uno mismo.lblText = btn.texto()
demás:
uno mismo.lblText + = ',' + btn.texto()
uno mismo.etiqueta.setText ('Has seleccionado \ n' + self.lblText)
# Crea el objeto de la aplicación y ejecuta la aplicación
app = QApplication (sys.argv)
ex = MultipleCheckbox ()
sys.salir (aplicación.exec_ ())

La siguiente ventana aparecerá después de ejecutar el script. El valor predeterminado de la segunda etiqueta es "No hay nada seleccionado”Y el valor de la etiqueta se cambiará cuando el usuario marque o desmarque cualquier casilla de verificación.


En el siguiente resultado, el usuario marca dos casillas de verificación y el valor de la segunda etiqueta se cambia a "Chocolate, Pasta".

Conclusión

La forma de definir una o varias casillas de verificación y leer los valores de las casillas de verificación seleccionadas se ha explicado en este tutorial utilizando dos ejemplos simples. Los grupos de casillas de verificación se pueden definir para seleccionar una casilla de verificación particular de un grupo que no se muestra aquí.

Agregue gestos del mouse a Windows 10 con estas herramientas gratuitas
En los últimos años, las computadoras y los sistemas operativos han evolucionado enormemente. Hubo un momento en que los usuarios tenían que usar coma...
Controle y administre el movimiento del mouse entre múltiples monitores en Windows 10
Administrador de mouse de doble pantalla le permite controlar y configurar el movimiento del mouse entre varios monitores, al ralentizar sus movimient...
WinMouse le permite personalizar y mejorar el movimiento del puntero del mouse en una PC con Windows
Si desea mejorar las funciones predeterminadas del puntero del mouse, use el software gratuito WinMouse. Agrega más funciones para ayudarlo a aprovech...