python tkinter 点击按钮选择文件,返回文件路径

关于python tkinter 点击按钮选择文件,返回文件路径,这个方法我找了好几天,终于曲线救国实现了

首先分为两步

1、设计对话框选择文件

python tkinter 点击按钮选择文件,返回文件路径_第1张图片

下面的代码搞了好几天,才发现全局变量的获取,必须放在root.mainloop的最后,反正网上都是坑,都TM复制,找100份资料,99份一样!!!

话不多说上代码

import tkinter
from tkinter import filedialog

root = tkinter.Tk()
root.title('路径选择')
max_w, max_h = root.maxsize()
root.geometry(f'500x300+{int((max_w - 500) / 2)}+{int((max_h - 300) / 2)}')  # 居中显示
root.resizable(width=False, height=False)

# 标签组件
label = tkinter.Label(root, text='选择文件:', font=('华文彩云', 15))
label.place(x=50, y=80)

# 标签组件
label2 = tkinter.Label(root, text='选择文件:', font=('华文彩云', 15))
label2.place(x=50, y=155)

# 输入框控件
entry_text = tkinter.StringVar()
entry = tkinter.Entry(root, textvariable=entry_text, font=('FangSong', 10), width=30, state='readonly')
entry.place(x=150, y=85)

# 输入框控件
entry_text2 = tkinter.StringVar()
entry2 = tkinter.Entry(root, textvariable=entry_text2, font=('FangSong', 10), width=30, state='readonly')
entry2.place(x=150, y=155)

# 按钮控件
a = []


def get_path():
    global a
    # 返回一个字符串,可以获取到任意文件的路径。
    path1 = filedialog.askopenfilename(title='请选择文件')
    a.append(path1)

    entry_text.set(path1)
    return path1

def get_path2():
    global a
    path2 = filedialog.askopenfilename(title='请选择文件')
    a.append(path2)
    entry_text2.set(path2)
    return path2

def f1():
    button = tkinter.Button(root, text='选择路径', command=get_path)
    button.place(x=400, y=75)

def f2():
    button2 = tkinter.Button(root, text='选择路径', command=get_path2)
    button2.place(x=400, y=155)
    root.mainloop()
# 就是这里TM的搞了好几天,才知道这么写就行了!!!
def get_file_list():
    return a

为这个py文件随便取个英文名

如](https://img-blog.csdnimg.cn/48a1b2fd505842dfb86ca10a62b8e428.png)

第一步复制我的就ok

2、在想要获取文件名的新建的py文件中导入刚刚 selec_file.py

如图所示!即可获取刚刚对话框中的文件路径!!你就可以为所欲为了!!

python tkinter 点击按钮选择文件,返回文件路径_第2张图片

话不多说,上代码

import select_file
select_file.f1()
select_file.f2()
a = select_file.get_file_list()

print(a[0])
print(a[1])

一个坑,一个坑才出来的,虽然就是一个代码的位置,但是卡了好久,各位也别笑话我

关注收藏没毛病吧

你可能感兴趣的:(Python自动化办公,tkinter,GUI,python,开发语言)