Cree sus propias aplicaciones 'Browser web' y 'Recordadora de escritorio' con PyGObject - Parte 3

Cree sus propias aplicaciones 'Browser web' y 'Recordadora de escritorio' con PyGObject - Parte 3

Este es el Tercero Parte de la serie sobre la creación de aplicaciones GUI en el escritorio de Linux con PyGObject. Hoy hablaremos sobre el uso de algunos módulos y bibliotecas avanzadas de Python en nuestros programas como 'sistema operativo','Webkit','peticiones'Y otros, además de alguna otra información útil para la programación.

Cree su propio navegador web y grabadora - Parte 3

Requisitos

Debe pasar por todas estas partes anteriores de la serie desde aquí, para continuar con más instrucciones sobre la creación de aplicaciones más avanzadas:

  1. Crear aplicaciones GUI en el escritorio de Linux con PyGObject - Parte 1
  2. Creación de aplicaciones de pygobject avanzadas en Linux - Parte 2

Los módulos y bibliotecas en Python son muy útiles, en lugar de escribir muchos subprogramas para hacer algunos trabajos complicados que tomarán mucho tiempo y trabajo, puede importarlos ! Sí, solo importe los módulos y bibliotecas que necesita a su programa y podrá ahorrar mucho tiempo y esfuerzo para completar su programa.

Hay muchos módulos famosos para Python, que puedes encontrar en Python Module Index.

También puede importar bibliotecas para su programa Python, desde "soldado americano.Repositorio importar gtkEsta línea importa la biblioteca GTK al programa Python, hay muchas otras bibliotecas como GDK, WebKit ... etc.

Creación de aplicaciones de GUI anticipadas

Hoy crearemos 2 programas:

  1. Un simple navegador web; que utilizará la biblioteca webkit.
  2. Una grabadora de escritorio usando el comando 'AVCONV'; que utilizará el módulo 'OS' de Python.

No explicaré cómo arrastrar y soltar widgets en el Claro Diseñador de ahora en adelante, solo le diré el nombre de los widgets que necesita crear, además le daré el .claro Archivo para cada programa y el archivo Python seguro.

Creando un navegador web simple

Para crear un navegador web, tendremos que usar el "Webkit"Motor, que es un motor de representación de código abierto para la web, es el mismo que se usa en Cromo/Cromo, Para obtener más información al respecto, puede consultar el WebKit oficial.Sitio web de organización.

Primero, tendremos que crear la GUI, abrir el Claro diseñador y agregue los siguientes widgets. Para obtener más información sobre cómo crear widgets, siga el Parte 1 y Parte 2 de esta serie (enlaces dados anteriormente).

  1. Crear widget 'Window1'.
  2. Crear widget 'Box1' y 'Box2'.
  3. Crear widget 'Button1' y 'Button2'.
  4. Crear widget 'Entry1'.
  5. Crear widget 'ScrolledWindow1'.
Agregar widgets

Después de crear widgets, obtendrá la siguiente interfaz.

Interfaz glade

No hay nada nuevo, excepto el "Ventana desplazada"Widget; Este widget es importante para permitir el Webkit motor para ser implantado dentro de él, usando el "Ventana desplazada"Widget también podrá desplazarse horizontal y verticalmente mientras navega por los sitios web.

Tendrás que agregar ahora "backbutton_clicked"Handler para el Atrás botón "hecho clic"Señal", "RefreshButton_clicked"Handler al botón de actualización"señal" y "Enterkey_clicked"Handler para el"activado"Señal para la entrada.

El completo .claro El archivo para la interfaz está aquí.

             Falso nuestro Simple Browser Center 1000 600 Aplicaciones-Internet Vertical Vertical Vertical False GTK-GO-Back True True Hald True verdadero Falso Verdadero 0 GTK-Actualizar verdadero verdadero verdadero verdadero verdadero Falso verdadero 1 Verdadero Verdadero True 2 Falso False 0 True True Siempre en True True 1                                     

Ahora copie el código anterior y péguelo en el "ui.claro"Archivo en su carpeta de inicio. Ahora cree un nuevo archivo llamado "mywebbrowser.py"E ingrese el siguiente código dentro de él, toda la explicación está en los comentarios.

#!/usr/bin/python #-*-codificación: UTF-8-*-## Aquí importamos tanto la biblioteca GTK como el motor webkit. de GI.Repositorio import gtk, WebKit Class Handler: def backbutton_clicked (self, botón): ## Cuando el usuario hace clic en el botón Atrás, el ''.El método go_back () 'está activado, que enviará al usuario a la página anterior automáticamente, este método es parte del motor WebKit. navegador.go_back () def refreshButton_clicked (self, botón): ## Lo mismo aquí, el '.El método Reload () 'se activa cuando se hace clic en el botón' Actualizar '. navegador.reload () def enterkey_clicked (self, botón): ## Para cargar la URL automáticamente cuando la tecla "Enter" se presiona desde el teclado mientras nos enfocamos en el cuadro de entrada, tenemos que usar el '.Método Load_uri () 'y toma la URL desde el cuadro de entrada. navegador.load_uri (urlentry.get_text ()) ## Nada nuevo aquí ... Acabamos de importar la ui '.archivo de glade. constructor = gtk.Constructor () constructor.add_from_file ("ui.glade ") constructor.Connect_signals (Handler ()) Window = Builder.get_object ("Window1") ## Aquí está la nueva parte ... Creamos un objeto global llamado 'Browserholder' que contendrá el motor de representación WebKit, y la configuramos en 'WebKit.WebView () ', que es lo predeterminado si desea agregar un motor WebKit a su programa. navegador = webkit.Webview () ## para no permitir la edición de la página web. navegador.set_editable (falso) ## La URL predeterminada a cargar, utilizamos el método 'load_uri ()'. navegador.load_uri ("https: // tecmint.com ") urlentry = constructor.get_object ("Entrada1") Urlentry.set_text ("https: // tecmint.com ") ## Aquí importamos el objeto ScrolledWindow1 desde la interfaz de usuario.archivo glade. scrolled_window = constructor.get_object ("scrolledwindow1") ## usamos el '.ADD () 'Método para agregar el objeto' navegador '' a la ventana desplazada, que contiene nuestro navegador WebKit. scrolled_window.Agregar (navegador) ## y finalmente mostramos el objeto 'navegador' usando el '.método show () '. navegador.show () ## Dale a ese desarrollador una cookie ! ventana.Connect ("Eliminar el evento", GTK.Main_Quit) Ventana.show_all () gtk.principal() 

Guarde el archivo y ejecutarlo.

$ chmod 755 mywebbrowser.Py $ ./mywebbrowser.py 

Y esto es lo que obtendrás.

Crear su propio navegador web

Puede referirse para el Webkitgtk documentación oficial para descubrir más opciones.

Creación de una grabadora de escritorio simple

En esta sección, aprenderemos cómo ejecutar comandos del sistema locales o scripts de shell desde el archivo Python utilizando el 'sistema operativo'Módulo, que nos ayudará a crear una grabadora de pantalla simple para el escritorio utilizando'avconv' dominio.

Abra el Glade Designer y cree los siguientes widgets:

  1. Crear widget 'Window1'.
  2. Crear widget 'Box1'.
  3. Crear widgets 'Button1', 'Button2' y 'Button3'.
  4. Crear widget 'Entry1'.
Crear widgets

Después de crear los widgets anteriores, obtendrá la interfaz debajo de.

Interfaz Glade UI

Aquí está el completo ui.claro archivo.

     Falso nuestro Centro de grabadora simple 300 30 Aplicaciones-Multimedia Verdadero Falso Verdadero Falso verdadero 0 GTK-MEDIA-RECORD VERDADER VERDADER True True True True 3       

Como de costumbre, copie el código anterior y péguelo en el archivo "ui.claro"En su directorio de inicio, cree un nuevo"myrecorder.py"Archivo e ingrese el siguiente código dentro de él (cada nueva línea se explica en los comentarios).

#!/usr/bin/python #-*-codificación: utf-8-*-## Aquí importamos tanto la biblioteca GTK como el módulo del sistema operativo. de GI.Repositorio Importo GTK Importo de la clase OS Handler: Def RecordButton (Self, Button): ## Definimos una variable: 'FilePathandName', asignamos la variable local Bash '$ Home' a IT + "/" + el nombre del archivo del texto caja de entrada. FilePathandName = OS.Environ ["Inicio"] + "/" + Entrada.get_text () ## aquí exportó la variable 'FilePathandName' de Python a la variable 'nombre de archivo' en el shell. sistema operativo.Environ ["FileName"] = FilePathandName ## usando 'OS.Sistema (comando) 'Podemos ejecutar cualquier comando shell o script de shell, aquí ejecutamos el comando' avConv 'para grabar el video y audio de escritorio. sistema operativo.Sistema ("AvConv -f X11Grab -R 25 -S 'XDPyInfo | Grep' Dimensiones: '| Awk' imprima $ 2" -I: 0.0 -vcodec libx264 -Threads 4 $ filename -y & ") def stopbutton (self, botón): ## Ejecute el comando 'Killall AvConv' cuando se hace clic en el botón PARTO. sistema operativo.System ("Killall AvConv") Def PlayButton (Self, Button): ## Ejecute el comando 'AVPlay' en el shell para reproducir el archivo grabado cuando se hace clic en el botón de reproducción. sistema operativo.Sistema ("AVPlay $ FileName &") ## Nada nuevo aquí ... Acabamos de importar la UI '.archivo de glade. constructor = gtk.Constructor () constructor.add_from_file ("ui.glade ") constructor.Connect_signals (Handler ()) Window = Builder.get_object ("Window1") Entrada = Builder.get_object ("Entrada1") Entrada.set_text ("myrecording-archivo.avi ") ## Dale a ese desarrollador una cookie ! ventana.Connect ("Eliminar el evento", GTK.Main_Quit) Ventana.show_all () gtk.principal() 

Ahora ejecute el archivo aplicando los siguientes comandos en el terminal.

$ chmod 755 myrecorder.Py $ ./Myrecorder.py 

Y tienes tu primera grabadora de escritorio.

Crear grabadora de escritorio

Puede encontrar más información sobre el 'sistema operativo'Módulo en la biblioteca del sistema operativo Python.

Y eso es todo, crear aplicaciones para el escritorio de Linux no es difícil usar Pygobject, Solo tiene que crear la GUI, importar algunos módulos y vincular el archivo de Python con la GUI, nada más, nada menos. Hay muchos tutoriales útiles sobre hacer esto en el sitio web de Pygobject:

¿Ha intentado crear aplicaciones usando pygobject?? ¿Qué piensas en hacerlo?? ¿Qué aplicaciones ha desarrollado antes??