Los botones se utilizan en aplicaciones GUI para realizar diversas operaciones basadas en los eventos generados por el usuario. El
QpushButton La clase de Pyqt se usa en Python para crear botones requeridos por la aplicación. Esta clase hereda las funcionalidades centrales del
Qabstractbutton clase. Se pueden usar texto o iconos para subtitular el botón. Los botones se pueden activar utilizando un mouse y un teclado. Cualquier evento de botón, incluido el botón que se hace clic o hace doble clic, puede asociarse con una función o método para manejar el evento. Este tutorial le muestra cómo crear varios tipos de botones utilizando el
QpushButton Clase de Pyqt en Python.
Métodos QpushButton
El QpushButton La clase tiene muchos métodos para realizar varias tareas relacionadas con los botones. Algunos de los métodos más utilizados de esta clase se mencionan a continuación:
Nombre del método | Objetivo |
texto() | Se usa para leer el subtítulo del botón. |
setText () | Se usa para establecer el texto en la leyenda del botón. |
seticon () | Se usa para establecer un icono en el subtítulo del botón. |
establecer predeterminado() | Se usa para establecer el botón predeterminado. |
setEnabled () | Utilizado para habilitar o deshabilitar los botones. Un valor de Verdadero se usa para habilitar el botón y un valor de FALSO se usa para deshabilitar el botón. |
setcheckable () | Utilizado para identificar si el botón se presiona o se libera. |
está chequeado() | Se usa para leer el estado del botón que es un valor booleano. |
palanca() | Se usa para alternar entre estados. Si el valor actual del estado del botón es Verdadero, Entonces el valor cambiará a FALSO, y viceversa. |
Uso de QpushButton
Las siguientes secciones proporcionan varios ejemplos simples para explicar el uso de QpushButton.
Ejemplo 1: Crear un botón simple PUSH
El siguiente script se usa para crear un solo botón en la ventana. El script adjuntará una función personalizada con el evento hecho clic del botón para verificar si se ha hecho clic en el botón. La ventana mostrará un botón después de la ejecución del código. Si el usuario hace clic en el botón, el texto 'Se presiona el botón' se mostrará en la etiqueta.
# Importar módulos necesarios
Sys de importación
de pyqt5.QtWidgets Import Qapplication, QWidget, QpushButton, Qlabel
# Definir clase para crear un solo botón Push
clase ButtonExample (QWidget):
def __init __ (self):
# Llame al constructor de padres
súper().__en eso__()
# Crea un botón
ser.btn = qpushButton ('HACE ME', Self)
# Establecer el texto de información sobre herramientas para el botón
ser.btn.SetToolTip ('Este es un botón simple')
# Establezca la geometría del botón
ser.btn.SetGeometry (100, 20, 100, 30)
# Función de llamada cuando se hace clic en el botón
ser.btn.hecho clic.conectar (yo.Onclicked)
# Defina la etiqueta en la parte inferior del botón
ser.msglabel = qlabel (", self)
# Establecer la geometría de la etiqueta
ser.msglabel.SetGeometry (90, 60, 290, 60)
# Establecer el título de la ventana
ser.setwindowtitle ('uso de botón de empuje')
# Establezca la geometría de la ventana principal
ser.SetGeometry (10, 10, 300, 150)
# Establezca la posición de la ventana principal en la pantalla
ser.Mover (850, 300)
# Muestra la ventana
ser.espectáculo()
# Definir la función para manejar el evento de clic del botón
Def Onclicked (Self):
# Establecer texto para la etiqueta
ser.msglabel.se presiona el botón setText ('.')
# Crear objeto de aplicación y ejecutar la aplicación
APP = QAPPLICATION (SYS.argv)
botón = Butonexample ()
aplicación.exec ()
La siguiente ventana aparecerá después de ejecutar el script.
Si el usuario hace clic en el Haz click en mi Botón, luego aparecerá el siguiente texto en el subtítulo debajo del botón.
Ejemplo 2: Crear múltiples botones Push
El siguiente script creará múltiples botones con el QpushButton clase. Se crean dos botones en el script. El evento hecho hecho del 'Sí'El botón se adjunta a un método llamado btn1_onclicked (), y el evento hecho hecho del 'No'El botón se adjunta a un método llamado btn2_onclicked (). Una leyenda creada debajo de los botones mostrará el mensaje especificado en función del botón haciendo clic en el usuario. El setGeometry () La función se usa para cada etiqueta y botón para establecer la posición de los objetos en la ventana.
Sys de importación
de pyqt5.QtWidgets Import Qapplication, QWidget, QpushButton, Qlabel
clase MultibutStons (QWidget):
def __init __ (self):
# Llame al constructor de padres
súper().__en eso__()
# Definir etiqueta en la parte superior del botón
ser.toplabel = qlabel ('
Te gusta python?
', ser)
# Establecer la geometría de la etiqueta
ser.toplabel.SetGeometry (100, 20, 290, 50)
# Crea el primer botón
ser.btn1 = qpushButton ('sí', yo)
# Establezca la geometría del botón
ser.BTN1.SetGeometry (130, 70, 60, 40)
# Función de llamada cuando se hace clic en el botón
ser.BTN1.hecho clic.conectar (yo.btn1_onclicked)
# Crea el segundo botón
ser.btn2 = qpushButton ('no', yo)
# Establezca la geometría del botón
ser.btn2.SetGeometry (200, 70, 60, 40)
# Función de llamada cuando se hace clic en el botón
ser.btn2.hecho clic.conectar (yo.btn2_onclicked)
# Defina la etiqueta en la parte inferior del botón
ser.msglabel = qlabel (", self)
# Establecer la geometría de la etiqueta
ser.msglabel.SetGeometry (130, 120, 300, 80)
# Establecer el título de la ventana
ser.setWindowtitle ('Uso de múltiples botones')
# Establezca la geometría de la ventana principal
ser.SetGeometry (10, 10, 400, 200)
# Establezca la posición de la ventana principal en la pantalla
ser.Mover (850, 300)
# Muestra la ventana
ser.espectáculo()
def btn1_onclicked (self):
# Establecer texto para la etiqueta inferior
ser.msglabel.setText ('
Hiciste clic en Sí.
')
def btn2_onclicked (self):
# Establecer texto para la etiqueta inferior
ser.msglabel.setText ('
Haciste clic en No.
')
# Crear objeto de aplicación y ejecutar la aplicación
APP = QAPPLICATION (SYS.argv)
botón = MultibutStons ()
aplicación.exec ()
La siguiente ventana aparecerá después de ejecutar el script.
Si el usuario hace clic en el Sí botón, el mensaje, 'Hiciste clic en Sí'se mostrará como el texto de la etiqueta.
Si el usuario hace clic en el No botón, el mensaje, 'Hiciste clic en No ' se mostrará como el texto de la etiqueta.
Conclusión
La clase QpushButton permite a los usuarios crear uno o más botones en función de los requisitos de la aplicación. Este tutorial mostró el uso de esta clase para crear uno o múltiples botones, así como cómo manejar los eventos de clics de botones utilizando funciones de controlador de eventos personalizados.