GTK

Introducción

Es una biblioteca de componentes gráficos multiplataforma para desarrollar interfaces gráficas de usuario (GUI). Fue desarrollada inicialmente para implementar la interfaz gráfica del programa de edición de imágenes GIMP. En 1997 el proyecto GNOME escogió GTK+ como base sobre la cual desarrollar su entorno gráfico.​ Otras aplicaciones gráficas no directamente relacionadas con GNOME también han empleado GTK, convirtiéndose junto con Qt en la biblioteca GUI más popular del sistema operativo Linux.

GTK se basa en varias bibliotecas desarrolladas por el equipo de GTK y de GNOME:

GTK puede ser utilizado con diferentes lenguajes, existen binding para Python, JavaScript, C++, Perl, Rust.

Librerías requeridas

En una máquina con Debian (o Ubuntu) instalar:

# apt install python3 python3-gi

Ejemplo (Hola Mundo)

Crear el siguiente programa holamundo.py (Descargar):

   1 #!/usr/bin/env python
   2 # -*- coding: utf-8 -*-
   3 
   4 import gi
   5 gi.require_version("Gtk", "3.0")
   6 from gi.repository import Gtk
   7 
   8 def on_activate(app):
   9     win = Gtk.ApplicationWindow(application=app)
  10     btn = Gtk.Button(label="Hello, World!")
  11     btn.connect('clicked', lambda x: win.destroy())
  12     win.add(btn)
  13     win.show_all()
  14 
  15 def main(args):
  16     app = Gtk.Application(application_id='org.gtk.Example')
  17     app.connect('activate', on_activate)
  18     app.run(None)
  19     return 0
  20 
  21 if __name__ == '__main__':
  22     import sys
  23     sys.exit(main(sys.argv))

Y luego ejecutar en la terminal:

$ python3 holamundo.py

holamundo.png

Glade

Es una herramienta de desarrollo visual de interfaces gráficas mediante GTK/GNOME. Es independiente del lenguaje de programación y predeterminadamente no genera código fuente sino un archivo XML, el cual luego pueder ser cargado en tiempos de ejecución por un programa.

En una máquina con Debian (o Ubuntu) instalar:

# apt install glade

Un ejemplo completo utilizando Glade para el diseño de las GUIs además de la conexión a una base de datos está disponible en: https://gitlab.com/gtk3/gtk3-samples

Referencias

https://www.gtk.org/

https://es.wikipedia.org/wiki/GTK

https://www.gtk.org/docs/getting-started/

https://www.gtk.org/docs/language-bindings/python/

https://python-gtk-3-tutorial.readthedocs.io/en/latest/

https://es.wikipedia.org/wiki/Glade

https://gitlab.com/fabioduran/programacion-i/-/tree/master/gtk/ejemplos

https://developer.gnome.org/gnome-devel-demos/stable/beginner.py.html.en

Talleres/GTK (última edición 2020-03-09 13:36:59 efectuada por AlejandroValdes)