【发布时间】:2015-07-09 00:57:29
【问题描述】:
我正在尝试使用带有 Tkinter 网格的最小 GUI 让我的 python 程序更易于访问。
我创建了一个类,该类创建一个要求选择目录的按钮。这可以正常工作。但是,我希望将目录的路径镜像到按钮下方的一行中。
class dir_choice:
def __init__(self, master, text, prow, pcol):
self.dir_button = Button(master, text = text, command = self.askdir)
self.dir_button.grid(row = prow, column = pcol)
self.feedb = Label(master, text = "text")
self.feedb.grid(row = prow+1, column = pcol)
def askdir(self):
name = askdirectory() #from tkFileDialog
return name
使用中:
dir1 = dir_choice(root, "FOLDER 1", 3, 2)
如果选择了该目录,我希望在按钮下方显示"C:/user/A/B/C" 之类的东西,而不是text = "text"。
我认为假设这是在 name 变量中是不正确的,或者如果是,我需要以不同的方式定义它。所以我的问题是如何访问askdirectory() 函数的值以及如何将该值推送到feedb 标签。
【问题讨论】:
-
快速注释。
self.dir_button和self.feedb根据定义是 None 。原因是grid返回 None。不要像这样链接网格。在单独的行中调用它,即self.dir_button.grid(...)。 -
@Marcin 谢谢。我在我的代码中更改了它并对其进行了编辑。对我的目录值问题有任何想法吗?