当按下按钮时有没有办法返回一些东西?Python Tkinter返回
这是我的示例程序。简单的文件阅读器。由于我无法返回内容,全局变量是否需要保留文本内容?
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()
返回*谁*? – delnan 2010-10-15 15:08:49
所以基本上你只是使用全局变量来写东西?例如使用一个filedialog,如果我想要选择的路径,我只是将它保存到一个全局变量/ – shawn 2010-10-15 15:23:04
你只是间接地自己回答它:“...使用一个filedialog,如果我想要选择的路径......”。你已经在'filename = tkFileDialog.askopenfilename()'中做到了。那么,['tkFileDialog.askopenfilename'](http://svn.python.org/view/python/trunk/Lib/lib-tk/tkFileDialog.py?revision=64257&view=markup)是如何做到的? – tzot 2010-10-15 18:57:13