繁体   English   中英

Python:Tkinter中的按钮小部件

[英]Python: Button widget in Tkinter

我刚刚开始使用Tkinter在Python 2.7中进行GUI编程。

我想要一个浏览按钮,单击该按钮将打开Windows File Explorer,并将所选文件的路径返回到变量。 我希望以后再使用该路径。

我正在遵循此处给出的代码。 它输出一个显示5个按钮的窗口,但是这些按钮什么也不做。 单击第一个按钮时,它不会打开所选文件。

同样,在单击第二个按钮时,将askopenfilename(self)函数,并且该函数应返回文件名。 就像我提到的那样,以后我需要该文件名。

如何将函数返回的值转换为某些变量以备将来使用?

在按钮的回调中使用return毫无意义。 它不会返回任何地方。 进行回调保存数据的方法是将其存储在全局变量中,如果使用类,则将其存储在实例变量中。

def fetchpath():
    global filename
    filename = tkFileDialog.askopenfilename(initialdir = 'E:')

FWIW(与问题无关):您犯了一个非常常见的错误。 在python中,当您执行foo=bar().baz()foo将使用baz()的值。 因此,当您这样做时:

button = Button(...).pack()

button将使用pack()的值,该值始终返回None 如果希望保存对正在创建的小部件的实际引用,则应将小部件的创建与小部件的布局分开。 即使您不是,将两者分开也是一个好习惯。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM