from Tkinter import *
from tkFileDialog import askopenfilename
from PIL import Image
def main():
filename = askopenfilename(filetypes=[("Jpeg","*.jpg")])
return filename
root = Tk()
button = Button(root,text="Open",command=main)
button.pack()
root.title("Image Manipulation Program")
root.mainloop()
一般来说,我是编程新手,但我正在尝试通过 Tkinter GUI 库制作一个成像程序。我需要在上面的代码中做的是返回存储在文件名中的字符串,以便它位于程序的全局范围内,并且我可以使用它。问题是我不知道在使用按钮调用函数时如何执行此操作。我在任何网站上都找不到这个问题的答案,因此我非常感谢任何人对这个问题的帮助。
如果您使用基于类的方法对于 Tk 应用程序,您可以将它们分配给实例变量,而不是从事件处理程序返回值。这是最好的方法,因为基于函数的 GUI 应用程序不能很好地扩展,因为需要将内容放置在模块范围内。
from Tkinter import *
class Application(Frame):
def main(self):
self.filename = askopenfilename(filetypes=[("Jpeg","*.jpg")])
def createWidgets(self):
self.button = Button(root,text="Open",command=self.main)
self.button.pack()
def __init__(self, master=None):
Frame.__init__(self, master)
self.filename = None
self.pack()
self.createWidgets()
root = Tk()
root.title("Image Manipulation Program")
app = Application(master=root)
app.mainloop()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)