En este tutorial, aprenderás a usar los radio buttons y checkboxes en una interfaz gráfica creada con Python y PyQt. Te mostraré cómo crear, personalizar y manejar estos elementos interactivos para que puedas mejorar la usabilidad y funcionalidad de tus aplicaciones.
- Crear una ventana principal
Lo primero que debemos hacer es crear una ventana principal donde colocaremos nuestros radio buttons y checkboxes. Para esto, utilizaremos la clase QMainWindow
de PyQt. El siguiente código muestra cómo crear una ventana básica con un tamaño fijo:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
app = QApplication(sys.argv)
window = QMainWindow()
window.setGeometry(100, 100, 400, 300)
window.setWindowTitle('Radio Button y Checkbox Tutorial')
window.show()
sys.exit(app.exec_())
- Agregar radio buttons
Los radio buttons son botones de selección exclusiva, lo que significa que solo se puede seleccionar una opción a la vez. Para agregar radio buttons a nuestra ventana, utilizaremos la clase QRadioButton
de PyQt. En el siguiente código, creamos dos radio buttons y los colocamos en la ventana principal:
from PyQt5.QtWidgets import QRadioButton
radio1 = QRadioButton('Opción 1', window)
radio1.move(50, 50)
radio1.setChecked(True)
radio2 = QRadioButton('Opción 2', window)
radio2.move(50, 70)
window.show()
En este ejemplo, hemos creado dos radio buttons con etiquetas "Opción 1" y "Opción 2" respectivamente. El método setChecked(True)
se utiliza para seleccionar la primera opción por defecto.
- Agregar checkboxes
Los checkboxes son casillas de verificación que permiten al usuario seleccionar múltiples opciones a la vez. Para agregar checkboxes a nuestra ventana, utilizamos la clase QCheckBox
de PyQt. En el siguiente código, creamos dos checkboxes y los colocamos en la ventana principal:
from PyQt5.QtWidgets import QCheckBox
checkbox1 = QCheckBox('Opción 1', window)
checkbox1.move(50, 100)
checkbox2 = QCheckBox('Opción 2', window)
checkbox2.move(50, 120)
window.show()
En este ejemplo, hemos creado dos checkboxes con etiquetas "Opción 1" y "Opción 2" respectivamente.
- Manejar eventos
Para realizar acciones basadas en la selección de radio buttons y checkboxes, necesitamos conectar los eventos correspondientes. En PyQt, esto se logra mediante la señal toggled
que se emite cuando los elementos cambian de estado. En el siguiente código, conectamos los eventos de los radio buttons y checkboxes a funciones que muestran un mensaje cuando se selecciona una opción:
def radio_button_clicked():
print('Radio button seleccionado:', radio1.text())
def checkbox_state_changed():
if checkbox1.isChecked():
print('Checkbox 1 seleccionado')
if checkbox2.isChecked():
print('Checkbox 2 seleccionado')
radio1.toggled.connect(radio_button_clicked)
checkbox1.stateChanged.connect(checkbox_state_changed)
checkbox2.stateChanged.connect(checkbox_state_changed)
En este ejemplo, la función radio_button_clicked
se conecta al evento toggled
del radio button 1, mientras que la función checkbox_state_changed
se conecta al evento stateChanged
de los checkboxes 1 y 2.
- Ejecutar la aplicación
Finalmente, ejecuta la aplicación para ver la ventana con los radio buttons y checkboxes. Puedes interactuar con ellos y ver cómo se activan los eventos que hemos definido. ¡Experimenta con diferentes configuraciones y funciones para personalizar tu interfaz gráfica!
¡Felicidades! Ahora sabes cómo usar radio buttons y checkboxes en una interfaz gráfica creada con Python y PyQt.¡A disfrutar!
Excelente…Un entorno grafico para Phyton??? Esto se pone interesante…
excelente video, excelente didáctica, felicitaciones..
ahora me da NameError: name 'Dialogo' is not defined
para mi esto nunca funciona
Buenas noches, muchas gracias por sus tutoriales, han sido de gran ayuda. Tengo una pregunta: Por qué en esta lección llamó la función self.radio_value() dentro de la clase "Dialogo" y en el video pasado por ej. no llamo las funciones validar_nombre ni validar_formulario en la clase Dialogo? acaso son distintas? y por qué? disculpe mi ignorancia pero quiero diferenciar cuando tengo que llamarla y cuando no.
Saludos desde Venezuela
Hola Manual,
Gracias a tu tutorial, pude hacer un gran progreso en mi script. Ahora sabe como puede assignar una variable cuando unos de los "radio button" es "click"?
Y como puede pasar estos "variable" a un file haciendo append?
Gracias