Botones y Dialogos con Gtk 3 y Python


Los botones y los dialogos son componentes importantes en el desarrollo de Interfaces, vamos a ver como agregar un boton y mostrar un dialogo o mensaje de alerta en Gtk 3 y Python.

GTK 3 es un sistema para crear interfaces graficas para windows, linux y mac, pero es mayormente usado en Linux para las interfaces graficas. Normalmente se programan las interfaces y aplicaciones usando el lenguaje de programacion C o C++, pero tambien hay ports y librerias para Python.

En este ejemplo vamos a crear una Ventana GTK 3 y le agregaremos un boton y al hacer click en el boton se mostrara una alerta.

Codigo

En el siguiente codigo se explica cada detalle en los comentarios.

### IMPORTAR LAS LIBRERIAS NECESARIAS
import gi
gi.require_version("Gtk","3.0")
from gi.repository import Gtk


class MyWindow(Gtk.Window):
	def __init__(self):
		### INICIAR LA VENTANA PONER EL TITULO
		Gtk.Window.__init__(self , title ="Probando Botones")
		### CREAR UNA CAJA PARA AGREGAR LOS ELEMENTOS
		self.box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=6)
		self.add(self.box) # AGREGAR LA CAJA A LA VENTANA PRINCIPAL	
		self.button1 = Gtk.Button(label="Button 1") # AGREGAR UN BOTON Y PONERLE LA ETIQUETA BUTTON 1
		self.button1.connect("clicked",self.button1_on_click) # ASIGNAR EL EVENTO QUE SE EJECUTA AL HACER CLICK
		self.box.add(self.button1) # AGREGAR EL BOTON A LA CAJA/BOX

	def button1_on_click(self, widget):
		## CREAR EL DIALOGO
		dialog = Gtk.MessageDialog(
			transient_for= self,
			flags=0,
			message_type=Gtk.MessageType.INFO,
			buttons=Gtk.ButtonsType.OK,
			text="Alerta, Alerta!"
			)
		dialog.format_secondary_text("Esta es la descripcion de la alerta")
		dialog.run()
		dialog.destroy()

### CREAR LA INSTANCIA A LA VENTANA Y MOSTRAR LA VENTANA
win = MyWindow()
win.set_default_size(640, 480)
win.connect("destroy",Gtk.main_quit)
win.show_all()
Gtk.main()

Para ejecutar el codigo debemos guardar el ejemplo como button1gtk3.py o cualquier nombre que ustedes requieran.

Despues ejecutar el script desde la terminal: python3 button1gtk3.py

Y el resultado sera una ventana con un boton y una alerta tal como lo describimos.

Resultado

Y listo a seguir haciendo pruebas y aprendiendo sobre Gtk 3 y Python.