python使用tkinter模块实现文件选择功能
作者:非典型假猿 发布时间:2022-06-18 18:35:56
标签:python,tkinter,模块,选择,功能
前言
学习Python中,总想做个图形界面,找来找去,找到了tkinter。
练习内容:图形界面中,点击按钮后,利用弹出对话框选择文件(或文件夹)
1.导入库和模块
import tkinter as tk
from tkinter import filedialog
此处练习过程中出现的错误:在没有第2个导入语句时,使用 tk.filedialog 后,提示错误,显示
Cannot find reference ‘filedialog’ in 'init.py
我查了“Lib/tkinter/"文件夹,发现里面并没有 tkinter.py,但是有 filedialog.py
我想着:tkinter是库,filedialog是模块吧,
但为啥 tk.filedialog不能用?
反而,在有第2个导入语句时,用 tk.filedialog 和 filedialog 都可以
出错情况 :
正常情况:
2.编写按钮命令
def select_file():
# 单个文件选择
selected_file_path = filedialog.askopenfilename() # 使用askopenfilename函数选择单个文件
select_path.set(selected_file_path)
def select_files():
# 多个文件选择
selected_files_path = filedialog.askopenfilenames() # askopenfilenames函数选择多个文件
select_path.set('\n'.join(selected_files_path)) # 多个文件的路径用换行符隔开
def select_folder():
# 文件夹选择
selected_folder = filedialog.askdirectory() # 使用askdirectory函数选择文件夹
select_path.set(selected_folder)
注意:三个按钮命令中,变量select_path是主窗体中Entry控件的textvariable属性值,在窗体初始化过程中,需要为其赋值:
select_path = StringVar()
3. 窗体初始化及布局
root = tk.Tk()
root.title("选择文件或文件夹,得到路径")
# 初始化Entry控件的textvariable属性值
select_path = tk.StringVar()
# 布局控件
tk.Label(root, text="文件路径:").grid(column=0, row=0, rowspan=3)
tk.Entry(root, textvariable = select_path).grid(column=1, row=0, rowspan=3)
tk.Button(root, text="选择单个文件", command=select_file).grid(row=0, column=2)
tk.Button(root, text="选择多个文件", command=select_files).grid(row=1, column=2)
tk.Button(root, text="选择文件夹", command=select_folder).grid(row=2, column=2)
root.mainloop()
4.运行
选择了单个文件的情况
来源:https://blog.csdn.net/fan0829/article/details/119984383
0
投稿
猜你喜欢
- 1. 对于数组array乘就是对应位置的元素相乘:X1 = np.array([[1,2], [3, 4]])X2 = X1print X2
- 一、前言准备编写一个篮球游戏,运动员带球跑,跳起投篮。在每帧图片中包括运动员和篮球,使用多帧图片,实现运动员运球跑动的效果。运动员运球跑动作
- 异常的参数一个异常可以带上参数,可作为输出的异常信息参数。你可以通过except语句来捕获异常的参数,如下所示:变量接收的异常值通常包含在异
- 一、SQLite简介SQLite是一个包含在C库中的轻量级数据库。它并不需要独立的维护进程,并且允许使用非标准变体(nonstandard
- 在Python中是没有Switch / Case语句的,很多人认为这种语句不够优雅灵活,在Python中用字典来处理多条件匹配问题字典会更简
- 一、背景起源于一个问题:怎样找到字符串中出现次数最多的字符其实使用max函数就能很轻松的解决这个问题:代码:str1 = "AAA
- 本文实例为大家分享了python实现图书管理系统的具体代码,供大家参考,具体内容如下import mysql.connectorimport
- 前言动态语言Ruby、Python都有自己的虚拟环境,虚拟环境是程序执行时的独立执行环境,在同一台服务器中可以创建不同的虚拟环境供不同的系统
- 本文实例讲述了Python3实现爬取简书首页文章标题和文章链接的方法。分享给大家供大家参考,具体如下:from urllib import
- 代码#!/usr/bin/env python#coding=utf-8import random#生成[0, 1)直接随机浮点数print
- 一、场景说明在面试接口自动化时,经常会问,其他接口调用的前提条件是当前用户必须是登录状态,如何处理接口依赖?在此之前我们介绍过session
- 终端输出彩色文字开发工具:Mac,Goland,Mac自带shell。这是基于Mac的测试结果,根据读者留言,在Windows上不生效,标识
- Django 为未来的开发人员提供了许多功能:一个成熟的标准库,一个活跃的用户社区,以及 Python 语言的所有好处。虽然其他
- UPA2008于2008年10月24日在深圳举行,托哥、绿桔应邀主持了一场圆桌会和一场工作坊,以下是圆桌会议《商业价值与用户价值的平衡》的现
- 本文介绍基于Python中ArcPy模块,对大量栅格遥感影像文件进行批量掩膜与批量重采样的操作。首先,我们来明确一下本文的具体需求。现有一个
- 昨天晚上睡觉前突然想到的,在此记一笔。传统方式以前我们做文章系统或新闻发布系统的时候,做文章内链(标签)的时候,通常是通过以下方式来实现的:
- 本文实例为大家分享了python爬取网易云音乐评论的具体代码,供大家参考,具体内容如下import requestsimport bs4im
- 1.format() 基本用法python2.6 开始,新增了一种格式化字符串的函数str.format(),它增强了字符串格式化的功能基本
- 如果进入了shell交互窗口,python的退出方式只能够用函数不能够用命令,这有时候让人感觉到很不习惯。因为函数会比命令多一个括号的输入,
- 1. 返回列表和标量(Scalar)前面我们注意到Query对象可以返回可迭代的值(iterator value),然后我们可以通过for