鱼C论坛

 找回密码
 立即注册
查看: 373|回复: 1

[已解决]tkinter选择文件并返回

[复制链接]
发表于 2024-10-10 16:55:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
做一个tkinter界面,
做一个按钮button1,点击后要求提供一个文件夹,自己去鼠标选择一个文件夹,返回填写到界面中显示,将选中的文件夹地址返回到变量v1,并在下面显示选中的文件夹名称
做一个按钮button2,点击后要求提供一个.xlsx格式的文件,自己去鼠标选择一个文件,返回填写到界面中显示,将选中的文件夹地址返回到变量v2,并在下面显示选中的文件名称
最佳答案
2024-10-10 16:55:28
好的,你可以使用`tkinter`结合`tkinter.filedialog`模块来实现这个功能。下面是一个简单的代码示例:

  1. import tkinter as tk
  2. from tkinter import filedialog

  3. def select_folder():
  4.     folder_path = filedialog.askdirectory()
  5.     if folder_path:
  6.         v1.set(folder_path)  # 将文件夹路径赋给v1
  7.         folder_label.config(text=folder_path.split('/')[-1])  # 显示文件夹名称

  8. def select_file():
  9.     file_path = filedialog.askopenfilename(filetypes=[("Excel files", "*.xlsx")])
  10.     if file_path:
  11.         v2.set(file_path)  # 将文件路径赋给v2
  12.         file_label.config(text=file_path.split('/')[-1])  # 显示文件名称

  13. # 创建主窗口
  14. root = tk.Tk()
  15. root.title("File and Folder Selector")

  16. # 创建StringVar变量
  17. v1 = tk.StringVar()
  18. v2 = tk.StringVar()

  19. # 创建按钮和标签
  20. button1 = tk.Button(root, text="选择文件夹", command=select_folder)
  21. button1.pack(pady=10)

  22. folder_label = tk.Label(root, text="")
  23. folder_label.pack()

  24. button2 = tk.Button(root, text="选择Excel文件", command=select_file)
  25. button2.pack(pady=10)

  26. file_label = tk.Label(root, text="")
  27. file_label.pack()

  28. # 运行主循环
  29. root.mainloop()
复制代码


### 说明:
- **button1**:用于选择文件夹,选择完成后,路径会赋值给`v1`变量,并在`folder_label`上显示文件夹名称。
- **button2**:用于选择`.xlsx`格式的文件,选择完成后,路径会赋值给`v2`变量,并在`file_label`上显示文件名称。

运行这段代码,会弹出一个窗口,点击按钮即可进行选择操作并获得结果。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2024-10-10 16:55:28 | 显示全部楼层    本楼为最佳答案   
好的,你可以使用`tkinter`结合`tkinter.filedialog`模块来实现这个功能。下面是一个简单的代码示例:

  1. import tkinter as tk
  2. from tkinter import filedialog

  3. def select_folder():
  4.     folder_path = filedialog.askdirectory()
  5.     if folder_path:
  6.         v1.set(folder_path)  # 将文件夹路径赋给v1
  7.         folder_label.config(text=folder_path.split('/')[-1])  # 显示文件夹名称

  8. def select_file():
  9.     file_path = filedialog.askopenfilename(filetypes=[("Excel files", "*.xlsx")])
  10.     if file_path:
  11.         v2.set(file_path)  # 将文件路径赋给v2
  12.         file_label.config(text=file_path.split('/')[-1])  # 显示文件名称

  13. # 创建主窗口
  14. root = tk.Tk()
  15. root.title("File and Folder Selector")

  16. # 创建StringVar变量
  17. v1 = tk.StringVar()
  18. v2 = tk.StringVar()

  19. # 创建按钮和标签
  20. button1 = tk.Button(root, text="选择文件夹", command=select_folder)
  21. button1.pack(pady=10)

  22. folder_label = tk.Label(root, text="")
  23. folder_label.pack()

  24. button2 = tk.Button(root, text="选择Excel文件", command=select_file)
  25. button2.pack(pady=10)

  26. file_label = tk.Label(root, text="")
  27. file_label.pack()

  28. # 运行主循环
  29. root.mainloop()
复制代码


### 说明:
- **button1**:用于选择文件夹,选择完成后,路径会赋值给`v1`变量,并在`folder_label`上显示文件夹名称。
- **button2**:用于选择`.xlsx`格式的文件,选择完成后,路径会赋值给`v2`变量,并在`file_label`上显示文件名称。

运行这段代码,会弹出一个窗口,点击按钮即可进行选择操作并获得结果。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-21 05:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表