【发布时间】:2020-01-27 15:41:49
【问题描述】:
我有一个类,我在 init 方法上创建一个标签:
import tkinter as tk
from tkinter.filedialog import askopenfilename
class app(tk.Tk):
def __init__(self, master):
label1 = tk.Label(master, text="Select file...")
label1.pack()
然后我用一个按钮调用一个方法来选择一个文件并将标签文本更改为文件名路径。
def files(self):
filename = askopenfilename()
self.label1.config(text=filename)
问题是,当我选择文件时,应用程序在没有错误的情况下关闭,所以我不知道发生了什么。
在我的课之外:
root = tk.Tk()
app_gui = app(root)
root.mainloop()
【问题讨论】:
-
你需要在
__init__方法中设置self.label1。现在它是本地名称label1,而不是实例属性self.label1。 -
@stovfl 好的,谢谢。
标签: python python-3.x tkinter widget