Table of Contents
Cree aplicaciones GUI más avanzadas con la herramienta PyGobject en Linux-Parte 2
Continuamos nuestra serie sobre la creación de aplicaciones GUI en el escritorio de Linux usando PyGObject . Esta es la segunda parte de la serie y hoy hablaremos sobre la creación de aplicaciones más funcionales usando algunos widgets avanzados.
Crear aplicaciones Gui en Linux-Parte 2 Requisitos
- Crear aplicaciones GUI en Linux usando PyGObject-Parte 1
En el artículo anterior dijimos que hay dos formas de crear aplicaciones GUI usando P yGObject : el método de solo código y el método del diseñador Glade , pero de ahora en adelante, solo explicaremos el Glade modo de diseñador, ya que es mucho más fácil para la mayoría de los usuarios, puede aprender el método de solo código usando python-gtk3-tutorial.
Creación de aplicaciones GUI avanzadas en Linux
1.. ¡Empecemos a programar! Abra su diseñador Glade desde el menú de aplicaciones.
Glade Designer
2.. Haga clic en el botón “ Ventana ” en la barra lateral izquierda para crear una nueva.
Crear nueva ventana
3.. Haga clic en el widget” Cuadro “y suéltelo en la ventana vacía.
Seleccionar Box Widget freestar.config.enabled_slots.push
4.. Se le pedirá que ingrese el número de cuadros que desea, que sea 3 .
Crear cajas
Y verás que las cajas están creadas, esas cajas son importantes para nosotros para poder agregue más que solo 1 widget en una ventana.
5.. Ahora haga clic en el cuadro widget y cambie el tipo de orientación de vertical a horizontal .
Hacer caja horizontal
6.. Para crear un programa simple, agregue una “ Entrada de texto “, “ Texto de cuadro combinado ” y una “ Botón ”widgets para cada uno de los cuadros, y Debe tener algo como esto.
Crear programa simple
7.. Ahora haga clic en el widget“ ventana1 ”de la barra lateral derecha y cambie su posición a“ Centro “.
Make Widget Center
Desplácese hacia abajo hasta” Apariencia ”sección .. Y agregue un título para la ventana“ Mi programa “.
Agregar título del widget
8.. Usted también puede elegir un icono para la ventana haciendo clic en en el cuadro “ Nombre del icono “.
Establecer Icono de widget
9.. También puede cambiar la altura predeterminada ht & ancho para la aplicación. Después de todo eso, debería tener algo como esto.
Establecer el ancho de la altura del widget
En cualquier programa, una de las cosas más importantes es crear una ventana” Acerca de “, para hacer esto, primero tendremos que cambiar el botón normal que creamos antes por un botón común, mira la imagen.
Crear ventana Acerca de
10.. Ahora, tendremos que modificar algunas señales para ejecutar acciones específicas cuando ocurra algún evento en nuestros widgets. Haga clic en el widget entrada de texto , cambie a la pestaña “ Señales ” en la barra lateral derecha, busque “ activado ” y cambie su controlador a “ enter_button_clicked “, la señal “ activada ” es la señal predeterminada que se envía cuando se presiona la tecla “ Enter” mientras se enfoca en el texto widget de entrada.
Establecer señales de widget
Tendremos que agregar otro controlador para el Señal de “ clic en ” para nuestro widget de botón Acerca de, haga clic en él y cambie la señal de “ clic en ” a “ botón_es_hacer clic “.
Agregar controlador de widgets
11.. Vaya a la pestaña “ Común ” y marque “ Tiene foco ” como sigue (Para dar el foco predeterminado para el botón Acerca de en lugar de la entrada).
Establecer enfoque predeterminado
12.. Ahora, desde la barra lateral izquierda, cree una nueva ventana “ Acerca del diálogo “.
Crear diálogo Acerca de
Y notará que se crea la ventana“ Diálogo Acerca de ”.
Diálogo Acerca de
Modifiquémoslo. Asegúrese de insertar la siguiente configuración desde la barra lateral derecha.
#!/usr/bin/python #-*-codificación: utf-8-*-de gi.repository import Gtk class Handler: def button_is_clicked (self, button): ## El “.run ()” El método se utiliza para iniciar la ventana Acerca de. ouraboutwindow.run () ## Esto es solo una solución para permitir cerrar la ventana acerca de. ouraboutwindow.hide () def enter_button_clicked (self, button): ## El método “.get_text ()” se usa para tomar el texto del cuadro de entrada. El método “get_active_text ()” se utiliza para obtener el elemento seleccionado del widget de texto del cuadro combinado, aquí, fusionamos ambos textos “. Print ourentry.get_text () + ourcomboboxtext.get_active_text () ## Nada nuevo aquí .. Nosotros acaba de importar el archivo ‘ui.glade’. builder = Gtk.Builder () builder.add_from_file (“ui.glade”) builder.connect_signals (Handler ()) ournewbutton = builder.get_object (“button1”) window = builder.get_object (“window1”) ## Aquí importamos el widget Combo Box para agregarle algún cambio. ourcomboboxtext = builder.get_object (“comboboxtext1”) ## Aquí definimos una lista llamada ‘default_text’ que contendrá todo lo posible elementos en el widget Combo Box Text. default_text = [“World”, “Earth”, “All”] ## Este es un bucle for que agrega cada elemento de la lista ‘default_text’ al widget Combo Box Text usando el ‘ .append_text () ‘método. para x en default_text: ourcomboboxtext.append_text (x) ## El método’ .set.active (n) ‘es u sed para establecer el elemento predeterminado en el widget de texto del cuadro combinado, mientras que n = el índice de ese elemento. ourcomboboxtext.set_active (0) ourentry = builder.get_object (“entry1”) ## Esta línea no necesita una explicación: D ourentry.set_max_length (15) ## Tampoco esto. ourentry.set_placeholder_text (“Ingrese un texto aquí …”) ## Acabamos de importar la ventana acerca de aquí a la variable global ‘ouraboutwindow’. ouraboutwindow = builder.get_object (“aboutdialog1”) ## ¡Dale a ese desarrollador una cookie! window.connect (“delete-event”, Gtk.main_quit) window.show_all () Gtk.main
Guarde el archivo en su directorio de inicio con ese nombre “ myprogram.py ” y proporcione Es el permiso de ejecución y ejecútelo.
$ chmod 755 myprogram.py $ ./myprogram.py Esto es lo que obtendrá, después de ejecutar el script anterior.
Ventana de Mi programa
Ingrese un texto en el cuadro de entrada, presione la tecla” Enter “en el teclado, y notará que la oración está impresa en el shell.
Box Output Text
Eso es todo por ahora, no es una aplicación completa, pero solo quería mostrarte cómo para vincular cosas usando PyGObject , puede ver todos los métodos para todos los widgets GTK en gtkobjects.
Simplemente aprenda los métodos, cree los widgets usando Glade , y conecta las señales usando el archivo Python, ¡Eso es! No es nada difícil, amigo mío.
Explicaremos más cosas nuevas sobre PyGObject en las próximas partes de la serie, hasta entonces mantente actualizado y no olvides darnos tus comentarios sobre el artículo.