我如何強迫按鈕將其文本改為檔案名?一切作業都很正常,一個對話框打開了,檔案也打開了。但我仍然不能將按鈕的名稱改為檔案名并保存它。
這是代碼:
import tkinter.filedialog as tfd
import tkinter as tk
import os
window = tk.Tk()
window.title("Op")
window.geometry("600x400")
window.resizable(False, False)
file_name = ""/span>
def open()。
global file_name
file_name = tfd.askopenfilename()
os.startfile(file_name) #open filef "Open {file_name}"/span>, command=open) #button>。
btn1.place(x = 20, y = 25)
uj5u.com熱心網友回復:
你可以用以下方法設定按鈕的文本屬性。
button['text'/span>] = fileName
你也可以在代碼中讀取按鈕的文本屬性,以確保它已經被設定為檔案名,即用if陳述句。
bText = button['text'/span>]
uj5u.com熱心網友回復:
嘗試使用.config -
import tkinter.filedialog as tfd
import tkinter as tk
import os
window = tk.Tk()
window.title("Op")
window.geometry("600x400")
window.resizable(False, False)
file_name = ""/span>
def open()。
global file_name
file_name = tfd.askopenfilename()
btn1.config(text=file_name) # 配置按鈕的文本。
os.startfile(file_name) #打開檔案。
btn1 = tk.Button(window, text=f "Open {file_name}"/span>, command=open) #button>。
btn1.place(x = 20, y = 25)
但是如果你運行這段代碼,按鈕的名稱會被改為完整的路徑名(例如 - C:/.../Choosen.file),所以如果你只想要檔案名('Choosen.file'),那么使用這個 -
btn1.config(text=file_name.split('/') [-1])
uj5u.com熱心網友回復:
你可以使用:
window = tk.Tk()
window.title("Op")
window.geometry("600x400")
window.resizable(False, False)
file_name = ""/span>
def open()。
global file_name
file_name = tfd.askopenfilename()
btn1["text"] = " '" file_name " '")
os.startfile(file_name)
btn1 = tk.Button(window, text="Open file"/span>, command=open) #按鈕
btn1.place(x=20, y=25)
tk.mainloop()
這使用了按鈕的舊文本并將'{file_path}'附加到它 -> 打開檔案'{file_path}'
uj5u.com熱心網友回復:
你可以定義一個維護狀態的新類。這樣你就可以避免全域性的,并能使多個按鈕都有自己的檔案。
class FileButton(tk.Button)。
def __init__(self, window, file_name="") 。
super().__init__(window, command=self.open)
self.set_text(file_name)
def set_text(self, file_name)。
self.file_name = file_name
self["text"] = f "Open {self.file_name}"
def open(self)。
if self.file_name == ""/span>:
self.set_text(tfd.askopenfilename())
os.startfile(self.file_name)
window = tk.Tk()
window.title("Op")
window.geometry("600x400")
window.resizable(False, False)
btn1 = FileButton(window)
btn1.place(x=20, y=25)
window.mainloop()
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/330575.html
標籤:
