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

首先分为两步

1、设计对话框选择文件

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

话不多说上代码

import tkinter
from tkinter import filedialogroot = 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 path1def get_path2():global apath2 = filedialog.askopenfilename(title='请选择文件')a.append(path2)entry_text2.set(path2)return path2def 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文件随便取个英文名

第一步复制我的就ok

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

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

话不多说,上代码

import select_file
select_file.f1()
select_file.f2()
a = select_file.get_file_list()print(a[0])
print(a[1])

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

关注收藏没毛病吧

python tkinter 点击按钮选择文件,返回文件路径相关推荐

  1. python实现点击按钮_python实现点击按钮修改数据的方法

    使用JSON获取前端数据,转成JSON,传递到后端,然后对数据库做修改. 前端代码 UPDATE ID : NAME : AGE : $("#update_id").click( ...

  2. 【Python】tkinter点击按钮后获取按钮本身

    如题所示 from tkinter import *root = Tk()def b1cmd():print(b1.__dict__)b1 = Button(root,text = 'b1',) co ...

  3. 浏览器上传文件窗口空白无内容或者点击按钮不弹出文件选择的问题

    公司有个上传文件的网站,最近弹出的选择文件上传窗口为空白无内容.网上找了很多办法都没用,后来看到网页上提示建议使用chrome浏览器并附带下载就下载了试试.下下来的是个老版本的chrome浏览器,弹窗 ...

  4. tkinter点击按钮实现图片的切换

    tkinter是python的标准Tk GUI工具包的接口,在windows下如果你安装的python3,那在安装python的时候,就已经自动安装了tkinter了 如果是在linux系统中,则不会 ...

  5. python 获取点击按钮名称_python如何获取tkinter组件的名称?比如按下多个Button中的一个,返回这个被按下的Button的text?...

    import tkinter as tk window = tk.Tk() window.title('计算器') window.geometry('360x435') window.attribut ...

  6. Python的Tkinter点击按钮触发事件

    如果要开发一个比较大的程序,那么应该先把代码封装起来,在面向对象编程中,就是封装成类 先看代码: import tkinter as tk class App:     def __init__(se ...

  7. python+tkinter+nuitka 打包单个可执行exe文件(PyInstaller比nuitka更稳定)

    1.使用py+tk完成 简单图形化脚本 # coding = utf-8 import tkinter as tk from tkinter.scrolledtext import * import ...

  8. python内置函数next()用来返回文件下一行_Python内置函数 next的具体使用方法

    Python 3中的File对象不支持next()方法. Python 3有一个内置函数next(),它通过调用其next ()方法从迭代器中检索下一个项目. 如果给定了默认值,则在迭代器耗尽返回此默 ...

  9. Excel:动态图表展示(点击按钮选择不同的员工名字,自动呈现对应的数据展示)

    现在有四名员工的各季度销售数据,现在想在Excel中动态展示. 第一步:任意选择一个单元格,再点击数据-数据验证会出现如下选择框. 第二步:在上述选择框的来源处,选中姓名(四个员工名字)那一列,则会出 ...

最新文章

  1. php 使用curl通过post方式提交json数据
  2. ajax(Tibco) 与 SQL server 2005(5)
  3. vue如何获取年月日_BootstrapVue——Vue和Bootstrap的相结合,构建响应式应用更简单...
  4. 【C#/.NET】.NET6中全局异常处理
  5. 机器学习超级复习笔记
  6. 『TensorFlow』分布式训练_其二_单机多GPU并行GPU模式设定
  7. 记录一个美丽的小县城
  8. 3D数学基础:图形与游戏开发
  9. 实习成长之路:MySQL十:怎么给字符串字段加索引?
  10. MongoDB学习——介绍一款MongoDB连接管理工具
  11. 数据挖掘概念与技术学习笔记(1)
  12. AR.js摄像头前置的问题(已解决)(H5调用摄像头)
  13. 多线程获取豆瓣网页的网络爬虫(Python实现)
  14. 多维向量空间中点到线的距离公式
  15. 文件夹批量重命名编号的快速方法
  16. 二维最大类间方差阈值分割的快速迭代算法
  17. 其他笔记 - matlab代码转换为python代码(SMOP、numpy)
  18. failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to copy: httpRe
  19. 用matlab做胶片滤镜,photoshop图像滤镜——浮雕算法(含matlab与C代码).pdf
  20. RuntimeError: mat1 dim 1 must match mat2 dim 0

热门文章

  1. Android开发 - 线程和服务
  2. 蒟蒻重返c++,学海拾贝(二)
  3. 【JDK编译】Centos7编译OpenJDK7
  4. ev3 编程中各程序块之间的关联
  5. mysql中如何求出学生人数,mysql中如何查询同时参加计算机考试和英语考试的学生人数...
  6. (7)Artemis传输配置
  7. 大A股票主力对敲倒量,接盘返点有哪些特征
  8. 【Java从零到架构师第二季】【07】JDBC FOR MySQL
  9. GAN系列:代码阅读——Generative Adversarial Networks 李宏毅老师GAN课程P1+P4
  10. FPGA作为从机与STM32进行SPI协议通信