首页 > 解决方案 > 在 GUI 窗口中我无法获取文件路径

问题描述

在执行 GUI 时,我无法在 filePath 变量中获取文件的路径,我可以在关闭 GUI 窗口后获取它。我想在 GUI 仍然打开时获取文件的路径,我该怎么做?

from tkinter import filedialog
from tkinter import *

filePath = ""

def browsefunc():
    global filePath
    filePath = filedialog.askopenfilename()

window = Tk()
window.geometry("500x500")

browsebutton = Button(window, text="Browse", command=browsefunc)
browsebutton.pack()

pathlabel = Label(window)
pathlabel.pack()

print("File Path (Before mainloop) : %s"%filePath)

window.mainloop()

print("File Path (After mainloop) : %s"%filePath)

标签: pythonpython-3.xuser-interfacetkinter

解决方案


代码没有问题:)。
我创建了以下示例,该示例显示在执行 GUI 时路径存在:

from tkinter import filedialog
from tkinter import *
import os

filePath = ""

def browsefunc():
    global filePath
    filePath = filedialog.askopenfilename()

def delete():
    os.remove(filePath)

window = Tk()
window.geometry("500x500")

browsebutton = Button(window, text="Browse", command=browsefunc)
deleteButton = Button(window, text="Delete", command=delete)
browsebutton.pack()
deleteButton.pack()
pathlabel = Label(window)
pathlabel.pack()

print("File Path (Before mainloop) : %s"%filePath)

window.mainloop()

print("File Path (After mainloop) : %s"%filePath)

该程序简单地删除了一个浏览的文件并且它确实有效。
但是我无法向您解释为什么您无法打印文件路径。

友好的问候

达尼洛·雅各布


推荐阅读