python tkinter 使用(三)

python tkinter 使用(三)

本篇文章主要讲下tkinter下的filedialog的使用.

1: askopenfilename

首先使用tkinter中fiedialog来实现一个简单的文件选择器.

这里使用askopenfilename()来启动文件选择器,选择成功后打印下所选文件的名称.

#!/usr/bin/python3
# -*- coding: UTF-8 -*-
"""@Author: zh@Time 2023/11/22 下午12:31  .@Describe:
"""
import tkinter as tk
import tkinter.filedialog# 创建窗口
root = tk.Tk()
root.title("root")
root.geometry("500x500")#筛选 /home/zh/下载 目录下的jpg文件.
def imgSelect(event):root.filename = tkinter.filedialog.askopenfilename(initialdir="/home/zh/下载", title="图片选择",filetypes=(("jpeg files", "*.jpg"), ("all files", "*.*")))print(root.filename)     #筛选所有的mp4文件
def videoSelect(event):root.filename = tkinter.filedialog.askopenfilename(initialdir="/", title="图片选择",filetypes=(("mp4 files", "*.mp4"), ("all files", "*.*")))print(root.filename)img = tk.Button(text="图片选择")
img.pack()
img.bind('<1>',imgSelect)video = tk.Button(text="视频选择")
video.pack()
video.bind('<1>',videoSelect)root.mainloop()

其中initialdir参数,可以指定目录来选择, filetypes则可以筛选指定的类型的文件.

2: askopenfile

askopenfile是用于打开文件对话框的函数,它可以让用户选择一个文件并返回该文件的文件对象.

代码如下:

#!/usr/bin/python3
# -*- coding: UTF-8 -*-
"""@Author: zh@Time 2023/11/22 下午12:35  .@Describe:
"""
import tkinter as tk
import tkinter.filedialog# 创建窗口
root = tk.Tk()
root.title("root")
root.geometry("500x500")def imgOpen(event):file = tkinter.filedialog.askopenfile(initialdir="/home/zh/下载", title="图片选择",filetypes=(("jpeg files", "*.jpg"), ("all files", "*.*")))print(file)img = tk.Button(text="图片打开")
img.pack()
img.bind('<1>', imgOpen)
root.mainloop()

initialdir参数指定了对话框打开时的默认目录,title参数指定了对话框的标题,filetypes参数指定了对话框中显示的文件类型

执行后我们可以看到如下输出:

<_io.TextIOWrapper name='/home/zh/下载/IMG-20230830-WA0008.jpg' mode='r' encoding='UTF-8'>

3: askopenfiles

askopenfiles与askopenfile类似,不同的地方再于支持多选,输出也是以list形式输出:

def imgsOpen(event):files = tkinter.filedialog.askopenfiles(initialdir="/home/zhouff/下载", title="图片选择",filetypes=(("jpeg files", "*.jpg"), ("all files", "*.*")))print(files)
img = tk.Button(text="多选图片打开")
img.pack()
img.bind('<1>', imgsOpen)

输出如下:

[<_io.TextIOWrapper name='/home/zh/下载/IMG-20230830-WA0008.jpg' mode='r' encoding='UTF-8'>, <_io.TextIOWrapper name='/home/zh/下载/IMG-20230830-WA00081111.jpg' mode='r' encoding='UTF-8'>]

4: askdirectory

askdirectory函数用于弹出一个对话框后让用户选择一个目录,并返回所选目录的路径.

def askdirectory(event):path = tkinter.filedialog.askdirectory()print(path)
img = tk.Button(text="获取路径")
img.pack()
img.bind('<1>', askdirectory)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/159333.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

echarts实现如下图功能代码

这里写自定义目录标题 const option {tooltip: {trigger: axis},legend: {left: "-1px",top:15px,type: "scroll",icon:rect,data: [{name:1, textStyle:{color: theme?"#E5EAF3":#303133,fontSize:14}}, {name: 2, textStyle:{color: theme…

小程序泄露腾讯地图apikey

今天挖小程序时测了很久&#xff0c;一直没有头绪&#xff0c;后来想要测试一下支付漏洞&#xff0c;但是这里却出问题了 添加地址时我发现&#xff0c;当我添加一个地址时&#xff0c;他会显示腾讯地图的logo和一部分小图&#xff0c;那时候我就在想&#xff0c;既然这里可以调…

函数隐式声明的危害及处理(C语言)

1.为什么要将函数隐式声明提升为编译错误 请看这个编译警告&#xff1a; [ 71%] Building C object main/CMakeFiles/shake.dir/pjt_helper.c.o /home/fengxh/shake_src/data_dispatch/main/pjt_helper.c: In function ‘SysMqtt_GetStateJsonPayload’: /home/fengxh/shake_s…

Vmware 扩展硬盘空间后的操作-Ubuntu

在VMware中扩展了Ubuntu虚拟机的硬盘容量后&#xff0c;你需要在Ubuntu内部进行操作才能使用新增的空间。过程包括为增加的空间建立分区、格式化以及挂载该分区供使用。下面是具体的步骤&#xff1a; 首先登录到你的Ubuntu系统&#xff0c;用lsblk命令查看分区情况。这样你可以…

多普勒流速仪的功能作用是什么?

我国地域广大&#xff0c;各地降雨分布不均&#xff0c;某些城市经常会出现连续的降雨进而导致城市排水压力过大&#xff0c;为了提高城市应对排水过量的极端情况的出现&#xff0c;亟需一种方案能够对城市排水进行有效及时的监测&#xff0c;从而能够及时的采取应对方案。 在污…

IO口电压下降那么多是怎么回事??

前几天一个工程师向我反馈他测得如下电路MCU IO口的电压不是3.3V&#xff0c;只有2V多。 IO配置的是输入功能&#xff0c;无上下拉。最初我不太相信这个结果&#xff0c;后来自己用万用表实际测量了下&#xff0c;还真是这个结果 这是咋回事呢&#xff1f;不应该电压就是3.3V吗…

前缀和的动态维护——树状数组[C/C++]

文章目录 前言lowbitlowbit的定义lowbit的计算 树状数组的思想树状数组的操作单点修改 update前缀查询 query树状数组的建立 build 前言 树状数组巧妙了利用位运算和树形结构实现了允许单点修改的情况下&#xff0c;动态维护前缀和&#xff0c;并且实现单点修改和前缀和查询的效…

【JavaEE】操作系统与进程

作者主页&#xff1a;paper jie_博客 本文作者&#xff1a;大家好&#xff0c;我是paper jie&#xff0c;感谢你阅读本文&#xff0c;欢迎一建三连哦。 本文录入于《JavaEE》专栏&#xff0c;本专栏是针对于大学生&#xff0c;编程小白精心打造的。笔者用重金(时间和精力)打造&…

python 水质日历热力图

利用日历热力图可以方便的查看站点水质全年的变化情况。 接口获取站点数据 这一步根据自己实际情况&#xff0c;也可以读取excel、MySQL读取数据。这里把API地址已隐去。 import numpy as np import calendar import requests import json import pandas as pd import time f…

给定两个字符串 s 和 t ,找不同

题意&#xff1a; 给定两个字符串 s 和 t &#xff0c;它们只包含小写字母。 字符串 t 由字符串 s 随机重排&#xff0c;然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。 示例 1&#xff1a; 输入&#xff1a;s “abcd”, t “abcde” 输出&#xff1a;“e”…

【python学习】基础篇-常用第三方库-psutil:用于获取CPU、磁盘与网络等系统信息和进程管理

psutil是一个跨平台的Python库&#xff0c;用于获取系统信息和进程管理。以下是一些基本的用法&#xff1a; 获取CPU使用率 cpu_percent psutil.cpu_percent(interval1) print(cpu_percent)获取内存使用情况 memory_info psutil.virtual_memory() print(memory_info.perce…

Linux:进度条(小程序)以及git三板斧

Linux小程序&#xff1a;进度条 在实现小程序前我们要弄清楚&#xff1a; 1.缓冲区&#xff1b; 2.回车与换行。 缓冲区&#xff1a; 分别用gcc来编译下面两个程序&#xff1a; 程序一&#xff1a; #include <stdio.h> int main() { printf("hello Makefil…

前后端分离SpringBoot+vue的买菜农副产品多功能商城

1&#xff0c;项目介绍 本系统主要针对买菜而设计&#xff0c;其功能有菜品基本信息管理、商品类别管理、系统订单管理、评论管理、系统用户管理等功能模块。并且本系统采用了现在流行的SpringBootVue进行的设计与实现&#xff0c;其中Tomcat为服务器&#xff0c;MySQL为数据库…

QT中的lambda表达式

面是对Qt中在QObject::connect()中的lambda表达式常用用法 QString str("I am a string!"); devicestr; connect(ui- connect(m_imgshowUI, &ImgShow::GetImgPath, m_visionplatform, [](const std::string filename){m_visionplatform->ReadImg(filename);}…

moviepy 视频剪切,拼接,音频处理

官网 使用matplotlib — moviepy-cn 文档 案例 from moviepy.editor import * from moviepy.video.fx import resize from PIL import Imagefile1r"D:\xy_fs_try\video_to_deal\spider_video\file\vedeo3.mp4" file2r"D:\xy_fs_try\video_to_deal\spider_video\…

Maven聚合项目发布至私服指定模块

无论是从事框架开发工作还是公共服务模块开发&#xff0c;为了解决通用性问题&#xff0c;常常需要发布一些依赖组件至maven私服。然而通常我们得maven工程都是由多个模块组成得聚合工程&#xff08;一个父工程下有多个模块&#xff09;。 这个时候可能会面临两个窘境&#xf…

小红书干货类笔记怎么写?建议收藏

小红书干货类笔记是指在小红书这个社交平台上&#xff0c;用户分享的各种实用、有价值的生活技巧、经验、心得等内容的笔记。这类笔记通常具有以下特点&#xff1a;内容详实、实用性强、独特见解、图文并茂。 比如&#xff1a;某个妆要怎么化、某种技能该怎么学、某个城市该怎…

java实现一个简单的监听器

在 Java 中&#xff0c;我们可以通过实现监听器&#xff08;Listener&#xff09;模式来处理事件和回调。监听器模式是一种常见的设计模式&#xff0c;用于实现对象间的松耦合通信。本文将介绍如何在 Java 中实现一个简单的监听器。 步骤 以下是实现一个监听器的基本步骤&…

关于input直接上传文件夹

用最基础的input 就可以实现 <input type"file" webkitdirectory directory"" /> 如果是像点击按钮之后上传文件夹可以这样写 <el-button type"primary" style"margin-top: 30px;width: 170px;" click"importModel&qu…