tkFileDialog: Nascondere la root window
16 Ottobre 2013
Non sempre si utilizza il tkFileDialog, messo a disposizione da Tkinter,
all’interno di una root window.
Capita a volta di scrivere semplicissime righe di codice senza GUI,
ma di avere bisogno di un FileBrowser per la selezione (o salvataggio)
di un file.
Nessun problema,
ad es. il codice seguente fa quello che serve:
import Tkinter as tk import tkFileDialog as tkfd def get_file(root): ch_file = tkfd.askopenfilename(master=root, filetypes=[('Text file','*.txt'), ('All files','*.*')]) root.destroy() return ch_file if __name__ == '__main__': root = tk.Tk() f = get_file(root) root.mainloop()
C’è una cosa però che non voglio vedere:
la finestra di root generica, che appare dietro
all’tkFileDialog.
Per ovviare a questo problema, basta utilizzare il
metodo withdraw di root, inserendolo subito prima
della chiamata al metodo askopenfilename.
import Tkinter as tk import tkFileDialog as tkfd def get_file(root): root.withdraw() ch_file = tkfd.askopenfilename(master=root, filetypes=[('Text file','*.txt'), ('All files','*.*')]) root.destroy() return ch_file if __name__ == '__main__': root = tk.Tk() f = get_file(root) root.mainloop()
Categorie:Tkinter
Commenti recenti