GTK+ 3 es un conjunto de herramientas de widgets multiplataforma gratuito y de código abierto para crear interfaces gráficas de usuario (GUI). Tiene licencia bajo los términos de la Licencia pública general reducida de GNU. Junto con Qt, es uno de los conjuntos de herramientas más populares para los sistemas de ventanas Wayland y X11. Veamos cómo crear una ventana y un botón usando GTK+ 3.
Siga los pasos a continuación:
- importar módulo GTK+ 3
- Crea la ventana principal.
- Crear botón.
Tenemos que importar el módulo Gtk para poder acceder a las clases y funciones de GTK+.
Nota: En IDE como Pycharm, podemos instalar un paquete llamado PyGObject para usar GTK+ 3.
Código n.º 1: Cree una ventana vacía de 200 x 200 píxeles.
Python3
import gi # Since a system can have multiple versions # of GTK + installed, we want to make # sure that we are importing GTK + 3. gi.require_version("Gtk", "3.0") from gi.repository import Gtk # Creates an empty window. window = Gtk.Window() # Connecting to the window’s delete event # to ensure that the application is terminated # whenever we click close button window.connect("destroy", Gtk.main_quit) # Display the window. window.show_all() Gtk.main()
Producción:
Código #2: Crea un botón
Python3
import gi gi.require_version("Gtk", "3.0") from gi.repository import Gtk # Define our own newWindow class. class newWindow(Gtk.Window): def __init__(self): # Call the constructor of the super class. # Set the value of the property title to Geeks for Geeks. Gtk.Window.__init__(self, title ="Geeks for Geeks") # Create a button widget, connect to its clicked signal # and add it as child to the top-level window. self.button = Gtk.Button(label ="Click Here") self.button.connect("clicked", self.on_button_clicked) self.add(self.button) # When we click on the button this method # will be called def on_button_clicked(self, widget): print("Geeks for Geeks") win = newWindow() win.connect("destroy", Gtk.main_quit) win.show_all() Gtk.main()
Producción:
Publicación traducida automáticamente
Artículo escrito por amalchandranmv y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA