Y a-t-il un moyen de retourner quelque chose quand on appuie sur un bouton?Python Tkinter Return
Voici mon exemple de programme. un lecteur de fichier simple. La variable globale contient-elle le contenu du texte, puisque je ne peux pas retourner le contenu?
from Tkinter import *
import tkFileDialog
textcontents = ''
def onopen():
filename = tkFileDialog.askopenfilename()
read(filename)
def onclose():
root.destroy()
def read(file):
global textcontents
f = open(file, 'r')
textcontents = f.readlines()
text.insert(END, textcontents)
root = Tk()
root.title('Text Reader')
frame = Frame(root)
frame.pack()
text = Text(frame, width=40, height=20)
text.pack()
text.insert(END, textcontents)
menu = Menu(root)
root.config(menu=menu)
filemenu = Menu(menu)
menu.add_cascade(label="File", menu=filemenu)
filemenu.add_command(label="Open...", command=onopen)
filemenu.add_command(label="Exit", command=onclose)
mainloop()
Retour * à qui *? – delnan
Donc, fondamentalement, vous utilisez simplement des globals pour écrire des choses? Par exemple, en utilisant un fichier, si je veux obtenir le chemin sélectionné, je l'enregistre simplement dans une variable globale/ – shawn
que vous venez de répondre indirectement vous-même: "... en utilisant un fichier, si je veux obtenir le chemin sélectionné ...". Vous le faites déjà dans 'filename = tkFileDialog.askopenfilename()'. Alors, comment ['tkFileDialog.askopenfilename'] (http://svn.python.org/view/python/trunk/Lib/lib-tk/tkFileDialog.py?revision=64257&view=markup) le fait-il? – tzot