Cómo crear aplicaciones GUI en el escritorio de Linux usando PyGObject

La creación de aplicaciones en Linux se puede realizar a través de varios métodos. Pero, la forma más eficiente de crear una aplicación GUI en Linux se puede hacer a través de PyGObject en Python. PyGObject es la próxima generación de la biblioteca PyGTK en Python, podemos decir que PyGObject = Python + GTK3. Entonces, en este artículo, crearemos una aplicación GUI en un entorno Linux usando PyGObject.

Nota : asegúrese de haber instalado Python en su máquina Linux .

Hay dos formas de crear aplicaciones GUI en Linux.

  • El método de solo código
  • Método del Diseñador Glade

Método 1: el método de solo código

En este método, crearemos los componentes de la GUI directamente mediante el código del programa, en lugar de usar cualquier método de arrastrar y soltar. Así que siga los pasos a continuación para crear la aplicación utilizando el método de solo código.

Paso 1 : Cree el archivo test.py usando un editor de texto.

nano test.py

How to Create GUI Applications Under Linux Desktop Using PyGObject

Paso 2 : escribe el siguiente código en el archivo test.py.

Python3

#!/usr/bin/python3
# -*- coding: utf-8 -*-
  
from gi.repository import Gtk
  
class ourwindow(Gtk.Window):
  
    def __init__(self):
        Gtk.Window.__init__(self, title="Demonstration\
        of PyObject GUI Application Creation")
        Gtk.Window.set_default_size(self, 400,325)
        Gtk.Window.set_position(self, Gtk.WindowPosition.CENTER)
  
        button1 = Gtk.Button("GeeksforGeeks")
        button1.connect("clicked", self.whenbutton1_clicked)
  
        self.add(button1)
          
    def whenbutton1_clicked(self, button):
      print("GeeksforGeeks")
  
window = ourwindow()        
window.connect("delete-event", Gtk.main_quit)
window.show_all()
Gtk.main()

Explicación del código :

  1. #!/usr/bin/python3: esta línea especifica la ruta predeterminada del intérprete de Python3.
  2. # -*- codificación: utf-8 -*-: En esta línea de código, hemos especificado el Unicode predeterminado como UTF-8.
  3. from gi.repository import Gtk: aquí estamos importando la biblioteca GTK 3.
  4. Class ourwindow(Gtk.Window): En esto, estamos creando una clase llamada ourWindow y configurando el tipo de objeto de clase como Gtk.Window.
  5. def __init__(self): En esto, estamos definiendo los componentes de la ventana principal.
  6. Gtk.Window.__init__(self, title=”Demostración de la creación de la aplicación PyObject GUI”): En esto estamos configurando el título de la ventana.
  7. Gtk.Window.set_default_size(self, 400,325): En esto, estamos configurando el ancho y el ancho de la ventana.
  8. Gtk.Window.set_position(self, Gtk.WindowPosition.CENTER): En esta línea de código, estamos configurando la posición predeterminada de la ventana como CENTRO.
  9. button1 = Gtk.Button(“GeeksforGeeks”): En esto estamos creando un botón llamado GeeksforGeeks.
  10. button1.connect(“clicked”, self.whenbutton1_clicked): En esto, estamos activando el evento clicked cuando se presiona el botón.
  11. self.add(button1): En esto, estamos agregando un botón en la ventana creada.
  12. def whenbutton1_clicked(self, button): En esto, estamos definiendo la función llamada whenbutton1_clicked y escribiendo el código del evento en ella.
  13. print(“GeeksforGeeks”): Estamos imprimiendo el mensaje GeeksforGeeks.
  14. window = ourwindow(): En esto, estamos creando una variable global que podemos usar más adelante en el código.
  15. window.connect(“delete-event”, Gtk.main_quit): En esto, estamos eliminando todos los widgets después de cerrar la ventana de nuestro programa automáticamente.
  16. window.show_all(): Mostrando la ventana.
  17. Gtk.main(): Ejecutando la biblioteca Gtk.

Paso 3 : Cambie los permisos del archivo test.py usando el siguiente comando

sudo chmod 755 test.py

How to Create GUI Applications Under Linux Desktop Using PyGObject

Paso 4 : Ejecute el archivo test.py usando el siguiente comando.

./test.py or
python3 test.py

How to Create GUI Applications Under Linux Desktop Using PyGObject

Paso 5 : Ahora, puede ver que se ha mostrado la ventana de la aplicación y que el botón se ha visto en la pantalla. Entonces, después de hacer clic en el botón «GeeksforGeeks». El mensaje se ha impreso en el terminal.

How to Create GUI Applications Under Linux Desktop Using PyGObject

Entonces, de esta manera, podemos crear aplicaciones GUI directamente desde el código mismo.

Método 2: Método Glade Designer

En este método, crearemos los componentes de la GUI utilizando Glade Designer, que proporciona la función de arrastrar y soltar de los componentes de la ventana y también controla componentes como botones, etiquetas, etc. Así que siga los pasos a continuación para crear una aplicación utilizando el método Glade Designer.

Paso 1 : Instale el paquete Glade en un entorno Linux usando el siguiente comando.

sudo apt-get install glade

How to Create GUI Applications Under Linux Desktop Using PyGObject

Paso 2 : Inicie la aplicación Glade Designer desde el propio terminal o navegue por todas las aplicaciones en las aplicaciones de Linux.

glade

How to Create GUI Applications Under Linux Desktop Using PyGObject

Paso 3 : La siguiente captura de pantalla muestra la GUI de la aplicación Glade.

Paso 4 : ahora, crearemos la ventana en la que se colocarán los objetos de control. Por lo tanto, seleccione la ventana (GtkWindow) de la opción Niveles superiores.

How to Create GUI Applications Under Linux Desktop Using PyGObject

Paso 5 : Ahora, coloque el botón en la opción Ventana desde Control.

How to Create GUI Applications Under Linux Desktop Using PyGObject

Paso 6: Asegúrese de hacer clic en la opción de clic en la pestaña de señales y asigne el nombre al controlador como button1_clicked.

Paso 7 : Haga clic en la opción Guardar y guarde el archivo como myprogram.glade.

Paso 8 : Ahora, cree un nuevo archivo python usando un editor de texto y agregando la siguiente línea de código. Asegúrese de agregar el nombre de archivo del archivo .glade en el código del programa.

nano glademethod.py

Python3

#!/usr/bin/python
# -*- coding: utf-8 -*-
  
from gi.repository import Gtk
  
class Handler:
    def button_1clicked(self, button):
      print("Hello GeeksForGeeks using Glade")
  
builder = Gtk.Builder()
builder.add_from_file("myprogram.glade")
builder.connect_signals(Handler())
  
ournewbutton = builder.get_object("button1")
ournewbutton.set_label("Demo using Glade!")
  
window = builder.get_object("window1")
  
window.connect("delete-event", Gtk.main_quit)
window.show_all()
Gtk.main()

Explicación del código :

  1. #!/usr/bin/python3: esta línea especifica la ruta predeterminada del intérprete de Python3.
  2. # -*- codificación: utf-8 -*-: En esta línea de código, hemos especificado el Unicode predeterminado como UTF-8.
  3. from gi.repository import Gtk: aquí estamos importando la biblioteca GTK 3.
  4. clase Handler: En esta línea, estamos creando una nueva clase llamada Handler.
  5. def button1_clicked(self, button): En esto, estamos definiendo la función llamada button1_clicked y escribiendo el código del evento en ella.
  6. print(“Hello GeeksForGeeks usando Glade”): Estamos imprimiendo el mensaje Hello GeeksForGeeks usando Glade.
  7. builder = Gtk.Builder(): Estamos creando un generador de variables globales que se usa para importar el archivo glade.
  8. builder.add_from_file(“myprogram.glade”): Aquí estamos importando el archivo “myprogram.glade” para usarlo como GUI predeterminado para nuestro programa.
  9. builder.connect_signals(Handler()): En esto estamos conectando el archivo glade con la clase de controlador.
  10. ournewbutton.set_label(“¡Hola, mundo!”): ¡Estamos configurando el texto del botón predeterminado como Demostración usando Glade!
  11. window = builder.get_object(“window1”): En esta línea hemos llamado al objeto “window1” del archivo .glade para mostrarlo más adelante en el programa.
  12. window.connect(“delete-event”, Gtk.main_quit): En esto, estamos eliminando todos los widgets después de cerrar la ventana de nuestro programa automáticamente.
  13. window.show_all(): Mostrando la ventana.
  14. Gtk.main(): Ejecutando la biblioteca Gtk.

How to Create GUI Applications Under Linux Desktop Using PyGObject

Paso 9 : Cambie los permisos del archivo glademethod.py usando el siguiente comando.

sudo chmod 755 glademethod.py

How to Create GUI Applications Under Linux Desktop Using PyGObject

Paso 10 : Ejecute el archivo glademethod.py usando el siguiente comando. Verá la ventana abierta y se mostrará el botón creado.

python3 glademethod.py

Paso 11 : Después de hacer clic en el botón de la ventana, el mensaje se muestra en el terminal.

How to Create GUI Applications Under Linux Desktop Using PyGObject

Entonces, de esta manera podemos crear aplicaciones GUI utilizando el método Glade Designer solo arrastrando y soltando los componentes.

Publicación traducida automáticamente

Artículo escrito por abhishekgandal324 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *