Como hemos visto hasta ahora el módulo EasyGUI proporciona lo esencial para construir una interfaz gráfica para nuestros programas y scripts, pero hay algo más.
Además, mediante la clase Egstore podemos usar ficheros de configuración para guardar y leer información en el disco de manera permanente, que puede ser usada por los programas en cualquier momento y estar disponible en futuras sesiones.
Es típico que un programa guarde datos sobre su instalación: la ubicación donde está instalado, información sobre su apariencia (colores, fuentes), idioma, formatos empleados, datos del usuario y/o empresa, etc. Toda esta información puede ser leída al principio y utilizada o cambiarse mientras el programa está ejecutándose.
En el siguiente ejemplo crearemos la subclase 'AppConfig' a partir de la clase eg.Egstore para leer y grabar datos de configuración.
En la claúsula __init__ se definen los atributos que contendrá la información que se leerá/guardará en el disco: self.usuario, self.idioma y self.rutabasedatos (self.filename es obligatorio).
También, importaremos el módulo os para utilizar alguna de sus funciones.
Además, mediante la clase Egstore podemos usar ficheros de configuración para guardar y leer información en el disco de manera permanente, que puede ser usada por los programas en cualquier momento y estar disponible en futuras sesiones.
Es típico que un programa guarde datos sobre su instalación: la ubicación donde está instalado, información sobre su apariencia (colores, fuentes), idioma, formatos empleados, datos del usuario y/o empresa, etc. Toda esta información puede ser leída al principio y utilizada o cambiarse mientras el programa está ejecutándose.
En el siguiente ejemplo crearemos la subclase 'AppConfig' a partir de la clase eg.Egstore para leer y grabar datos de configuración.
En la claúsula __init__ se definen los atributos que contendrá la información que se leerá/guardará en el disco: self.usuario, self.idioma y self.rutabasedatos (self.filename es obligatorio).
También, importaremos el módulo os para utilizar alguna de sus funciones.
#!/usr/bin/python3 # -*- coding: utf-8 -*- import os import easygui as eg class AppConfig(eg.EgStore): def __init__(self, filename): self.usuario = "" self.idioma = "" self.rutabasedatos = "" self.filename = filename
A continuación, se leerá el archivo de configuración “config-gui.txt” y en el caso de no existir será creado en la ruta del programa:
car = os.getcwd() # Obtiene la ruta de la carpeta actual ArchivoConfig = os.path.join(car,"","config-gui.txt") MiConfig = AppConfig(ArchivoConfig) MiConfig.restore() if MiConfig.usuario == "": usu = os.getenv('USER') # Captura el Usuario idi = "ES" # Asigna el idioma de la aplicación rbd = car # Asigna ruta de la base de datos # Guardar datos en el archivo de configuración MiConfig.usuario = usu MiConfig.idioma = idi MiConfig.rutabasedatos = rbd MiConfig.store() else: usu = MiConfig.usuario idi = MiConfig.idioma rbd = MiConfig.rutabasedatos
En cualquier parte del programa podemos leer y guardar la información que necesitemos. A continuación, se muestra una ventana para teclear la información y después guardarla.
MiConfig.restore() usu = MiConfig.usuario idi = MiConfig.idioma rbd = MiConfig.rutabasedatos campos = ['Usuario', 'Idioma', 'Ruta base datos'] datos = [usu, idi, rbd] datos = eg.multenterbox(msg='Modifique los datos', title='EgStore: Guardar datos', fields=campos, values=datos) MiConfig.usuario = datos[0] MiConfig.idioma = datos[1] MiConfig.rutabasedatos = datos[2] MiConfig.store()
Finalmente, se leerán del archivo de configuración los últimos datos almacenados:
MiConfig.restore() # Lee archivo de configuración usu = MiConfig.usuario idi = MiConfig.idioma rbd = MiConfig.rutabasedatos eg.msgbox(usu + " " + idi + " " +rbd, "EgStore: Leer", ok_button="Seguir")
Ir al índice del tutorial de EasyGUI