我正在制作一个程序,需要浏览照片 而且我已经浏览了一个文件按钮,并且一切正常,但是我想要 用户选择文件时 将按钮名称更改为该文件的路径 请帮忙。
我尝试在函数内部使用全局变量,因此我可以在函数“浏览文件”中命名变量,并在函数内部更改其名称并将其插入按钮内,但是对我不起作用我不知道怎么做或这样行不通
from tkinter import *
from tkinter import filedialog
window = Tk()
window.geometry('500x500')
def filename1():
window.filename1 = filedialog.askopenfilename(initialdir="/",title="Select file", filetypes=(
('jpeg', "*.jpeg"), ("jpg", "*.jpg"), ("all files", "*.*")))
print(window.filename1) # here it's print the file path
filebrowsebutton1 = Button(text="Browse a file",command=filename1).place(x=60, y=280)
window.mainloop()
答案 0 :(得分:0)
首先从filename1()
返回文件名将不会更改浏览按钮的文本。第二个filebrowsebutton1
不会为Button
分配实例引用,而是为None
分配实例引用,因为您已经链接了函数.place(...)
。
下面是解决上述问题的代码的更新版本:
import tkinter as tk
from tkinter import filedialog
window = tk.Tk()
window.geometry('500x500')
def filename1():
filename = filedialog.askopenfilename(initialdir='/', title='Select file', filetypes=(('jpeg', '*.jpeg *.jpg'),('all files', '*.*')))
if filename:
# update button text with the selected filename
browsebutton['text'] = filename
browsebutton = tk.Button(text='Browse a file', command=filename1)
browsebutton.place(x=60, y=200)
window.mainloop()