有什么方法可以将浏览文件按钮更改为它的文件路径?

时间:2019-08-11 18:18:18

标签: python-3.x selenium-webdriver tkinter

我正在制作一个程序,需要浏览照片 而且我已经浏览了一个文件按钮,并且一切正常,但是我想要 用户选择文件时 将按钮名称更改为该文件的路径 请帮忙。

我尝试在函数内部使用全局变量,因此我可以在函数“浏览文件”中命名变量,并在函数内部更改其名称并将其插入按钮内,但是对我不起作用我不知道怎么做或这样行不通

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()

1 个答案:

答案 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()