[Programación]GUI en python con TkInter...

Horacio Castellini horacio9573 en yahoo.com.ar
Mie Ago 4 10:03:07 ART 2010


Bueno luego de la ayuda de emiliano... y de leer sobre el TkInter algo voy entendiendo... pero tengo otra duda..

> from Tkinter import *
> import tkFileDialog
> # los demas imports
> 
> def definir_archivo():
>     """Selecciona el archivo a procesar"""
>     global fe
>     fname = tkFileDialog.askopenfilename()

Si bien el manual dice que el método "askopenfilename()" toma el nobre un archivo para solo lectura pero el objeto que devuelve no está asociado al archivo... entonces si lo quiero abrir para solo lectura debería ser algo así: (pregunto porque no estoy seguro de lo que digo...)

import sys #Es necesario importar esto?

def definir_archivo():
    """Selecciona el archivo a procesar"""
    global fe
    fname = tkFileDialog.askopenfilename()
    if fname:
        fe.delete(0, END)
        fe.insert(0, fname)
        return open(fname,'r')

> def procesar():
>     """Procesa el archivo e inserta los
> resultados en los campos"""
>     global fe
>     global res
>     fname=fe.get()

 Acá debería ser  usado el archivo abierto... pero (ver mas abajo)      

>     if not fname:
>         return




> 
> def hacerGUI():
>     global res
>     global fe
> 
>     fb=Button(ff,text="...",
> command=definir_archivo)

Como acá es llamado no sé donde guardo el valor devuelto por definir_archivo()... 

Sería una solución definir un objeto global "archivo" y que sea visible por estas tres llamadas es decir:

def definir_archivo():
    """Selecciona el archivo a procesar"""
    global fe
    global archivo
    fname = tkFileDialog.askopenfilename()
    if fname:
        fe.delete(0, END)
        fe.insert(0, fname)
        archivo=open(fname,'r')
        return 

Es correcta esta salida o estoy equivocado de medio a medio...?

Saludos...




      


Más información sobre la lista de distribución Programacion