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()
Run Code Online (Sandbox Code Playgroud)
我是一般的编程新手,但我试图通过Tkinter GUI库制作成像程序.我需要能够在上面的代码中做的是返回存储在filename中的字符串,以便它在程序的全局范围内,并且我能够使用它.问题是我用按钮调用函数时不知道怎么做.我无法在任何网站上找到这个问题的答案,所以我很感激任何人对这个问题的帮助.
如果对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()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12054 次 |
| 最近记录: |