Python 在tkinter中更新标签

Python 在tkinter中更新标签,python,tkinter,tkinter-entry,Python,Tkinter,Tkinter Entry,我正在代码中添加“选择文件部分”。我想有两个选项,第一个选择文件路径,第二个输入文件路径 我无法实现的另一个特性是,如果用户选择文件路径,该路径将显示在条目部分 这是我所说的代码的一部分: from tkinter import filedialog import tkinter as tk class open_file: def __init__(self, master): self.master = master self.file_path =

我正在代码中添加“选择文件部分”。我想有两个选项,第一个选择文件路径,第二个输入文件路径

我无法实现的另一个特性是,如果用户选择文件路径,该路径将显示在条目部分

这是我所说的代码的一部分:

from tkinter import filedialog
import tkinter as tk

class open_file:
    def __init__(self, master):
        self.master = master
        self.file_path = ''

        self.b1 = tk.Button(master,
               text = 'Open',
               command = self.open_file).grid(row=0, column=1)

        v = tk.StringVar(root, value = self.file_path)
        self.l1 = tk.Entry(master, width=24, textvariable=v).grid(row=0, column=0)


    def open_file(self):
        self.file_path = filedialog.askopenfilename(filetypes = (("Python Files", "*.py")
                                                             ,("All files", "*.*") ))

root = tk.Tk()
app = open_file(root)
root.mainloop()

因为有一个StringVar链接到文本,所以需要使用
StringVar.set()
来设置条目的文本

set方法更新变量,并通知所有变量观察者。您可以传入正确类型的值,也可以传入字符串

您已经在StringVar上设置了内容,但它们不会在self.file\u路径更改时动态更新。 在本例中,您必须使StringVar(v)成为_init__;函数中的类成员

 self.v = tk.StringVar(root, value = self.file_path)
此外,如果要更新文件路径,请通过
self.v.set(String)


因为有一个StringVar链接到文本,所以需要使用
StringVar.set()
来设置条目的文本

set方法更新变量,并通知所有变量观察者。您可以传入正确类型的值,也可以传入字符串

您已经在StringVar上设置了内容,但它们不会在self.file\u路径更改时动态更新。 在本例中,您必须使StringVar(v)成为_init__;函数中的类成员

 self.v = tk.StringVar(root, value = self.file_path)
此外,如果要更新文件路径,请通过
self.v.set(String)