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.