[英]Update Labels in tkinter
我在我的代碼中添加了一個“選擇文件部分”。 我想有兩個選項,第一個選擇文件路徑,第二個輸入文件路徑。
我無法實現的另一個功能是,如果用戶選擇文件路徑,該路徑將出現在入口部分。
這是我正在談論的代碼部分:
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()
來設置條目的文本。
來自http://effbot.org/tkinterbook/variable.htm:
set 方法更新變量,並通知所有變量觀察者。 您可以傳入正確類型的值或字符串。
您已經在 StringVar 上設置了內容,但它們不會在 self.file_path 更改時動態更新。 在您的情況下,您必須在 __init__ function 中將 StringVar (v) 設為 class 成員
self.v = tk.StringVar(root, value = self.file_path)
此外,當您想更新文件路徑時,請通過self.v.set(String)
設置它
def open_file(self):
self.file_path = filedialog.askopenfilename(filetypes = (("Python Files", "*.py")
,("All files", "*.*") ))
if self.file_path: #check if file path is not None or empty
self.v.set(self.file_path)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.