python tkinter 的使用 — 桌面应用程序开发

news/2025/2/20 21:31:50/

前言

嗨喽,大家好呀~这里是爱看美女的茜茜呐

又到了学Python时刻~

Tkinter模块(“Tk 接口”)是Python的标准Tk GUI工具包的接口.

Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里.

Tk8.0的后续版本可以通过ttk实现本地窗口风格,并良好地运行在绝大多数平台中.

此外,tkinter.tix还提供了更丰富的窗口组件

今天我们就用tkinter来写一个简单的电脑文件搜索工具

开发环境:

  1. 解释器: Python 3.8.8 | Anaconda, Inc.

  2. 编辑器: pycharm 专业版

效果展示

代码展示

导入模块

import tkinter as tk
from tkinter import filedialog
import os
root = tk.Tk()
root.geometry('600x300')
root.title('学习资料搜索工具')

搜索框

search_frame = tk.Frame(root)
search_frame.pack()tk.Label(search_frame, text='关键字:').pack(side=tk.LEFT, padx=10, pady=10)
key_entry = tk.Entry(search_frame)  # 创建一个输入框
key_entry.pack(side=tk.LEFT, padx=10, pady=10)  # 将输入框显示到界面
tk.Label(search_frame, text='文件类型:').pack(side=tk.LEFT, padx=10, pady=10)
type_entry = tk.Entry(search_frame)
type_entry.pack(side=tk.LEFT, padx=10, pady=10)
button = tk.Button(search_frame, text='搜索')
button.pack(side=tk.LEFT, padx=10, pady=10)
list_box = tk.Listbox(root)
list_box.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)

点击按钮搜索文件

def search():print('按钮被点击了')
  1. 获取关键字、文件类型
    key = key_entry.get()file_type = type_entry.get()print(key, file_type)
  1. 读取 windows 系统的文件
    dir_path = filedialog.askdirectory()print(dir_path)  # 遍历文件,实现搜索功能file_list = os.walk(dir_path)for root_path, dirs, files in file_list:

目录路径,目录下的子目录,目录下的文件

        # print(root_path, dirs, files)for file in files:# 过滤文件类型,搜索关键字if type_entry:  # py 如果输入了类型,就进行过滤,如果没有输入,就不过滤类型if file.endswith(file_type):# 搜索关键字content = open(root_path + '/' + file, mode='r', encoding='utf-8-sig').read()if key in content:print(root_path + '/' + file)# 把结果显示到界面上list_box.insert(tk.END, root_path + '/' + file)
  1. 实现搜索功能

  2. 将搜索到的结果显示到界面

创建滚动窗口并布局到页面上

sb = tk.Scrollbar(root)
sb.pack(side=tk.RIGHT, fill=tk.Y)
sb.config(command=list_box.yview)
list_box.config(yscrollcommand=sb.set)button.config(command=search)
def list_click(event):print('列表框组件的内容被点击了')
  1. 获取到选中的内容
    index = list_box.curselection()[0]path = list_box.get(index)print(path)
  1. 读取选中路径的内容
    content = open(path, mode='r', encoding='utf-8').read()print(content)
  1. 将内容显示到新的窗口
    top = tk.Toplevel(root)filename = path.split('/')[-1]top.title(filename)text = tk.Text(top)text.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)text.insert(tk.END, content)

绑定点击事件

list_box.bind('<Double-Button-1>', list_click)root.mainloop()

PS:文章看不懂,我专门录了对应的视频讲解,本文只是大致展示,完整代码和视频教程如有需要的小伙伴可以加下方的群去找免费管理员领取

分享

兄弟们学习python,有时候不知道怎么学,从哪里开始学。掌握了基本的一些语法或者做了两个案例后,不知道下一步怎么走,不知道如何去学习更加高深的知识。

那么对于这些小伙伴们,我准备了大量的免费视频,PDF电子书籍,以及源代码!

直接点击这里领取即可! 我都放在这里了。

希望对各位有所帮助~




尾语 💝

感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,博主要一下你们的三连呀(点赞、评论、收藏),不要钱的还是可以搞一搞的嘛~

不知道评论啥的,即使扣个6666也是对博主的鼓舞吖 💞 感谢 💐


http://www.ppmy.cn/news/403864.html

相关文章

呃,bing 桌面词典中的成熟美女

话说&#xff0c;安装好了bing词典桌面版之后&#xff0c;部分例句后面的视频按钮打开之后都可以弹开一个视频框。大多数时候是一个美女口模&#xff0c;偶尔会碰到一个欧美痴呆兄。这段视频是需要从网上下载的。呵呵&#xff0c;所以要看美女&#xff0c;还是连网看吧。 本文转…

Visual Basic 桌面小程序

目录 1. 基本格式2. 实现步骤a. 文件名b. 改变图标 3. 实例集a. QQ.vbsb. 搭讪.vbsc. 表白.vbs 1. 基本格式 dim 指定一个存储空间&#xff1b; 必须有loop&#xff1b; 2. 实现步骤 a. 文件名 XX.vbs&#xff1b; b. 改变图标 画图工具打开图片并保存为 bmp 格式&#xf…

高级VLAN_vlan聚合(Super VLAN)实验

vlan聚合(Super_VLAN) 就是在一个物理网络里面用多个vlan来隔离广播域,将这个vlan聚合成一个逻辑vlan就有了Super vlan,这些多个vlan共用一个ip子网和网关, 目的就是为了节约ip地址资源 普通vlan示意图 普通vlan就存在很多网关,有的vlan可能会存在只有20个主机设备,但是需要划…

图像坐标转换:一个点绕着另一个点逆时针旋转角度平移后的坐标

图像坐标系&#xff1a;x向右增大&#xff0c; y向下增大。 点A在图像中的坐标&#xff08;x1, y1&#xff09; 点B在图像中的坐标&#xff08;x2, y2&#xff09; 点B绕着点A逆时针旋转a弧度&#xff0c;旋转后的点B坐标为{x (x2 - x1)*cos(a) (y2 - y1)*sin(a) x1&#xf…

人机交互学习-3 交互设计目标与原则

交互设计目标与原则 交互设计目标可用性目标易用性&#xff08;learnability&#xff09;高效率&#xff08;efficiency&#xff09;易记性&#xff08;memorability&#xff09;少出错&#xff08;errors&#xff09;主观满意度&#xff08;satisfaction&#xff09; 用户体验…

服务 第一章

目录 1.域名解析 DNS 2.网站和网页 3.web 4.http 请求流程 5.总结 1.域名解析 DNS 网络是基于tcp 、ip 协议的。所以要求&#xff1a;每台主机地址不同。逻辑上&#xff0c;是 ip 地址。物理上&#xff0c;是 mac 地址。 两主机通信时&#xff0c;通过 32 位的 ip 。不方…

瑞芯微Rockchip出品的驱动安装助手DriverAssitant v4.6

关键词&#xff1a; 瑞芯微 Rockchip RK3308 RK3399 驱动安装 DriverAssitant V4.6 MASKROM LOADER 驱动安装比较简单&#xff0c;直接点击“驱动安装”&#xff0c;很快就可以完成。 需要注意的是Win7和Win10下可能会有一定的兼容性问题&#xff0c;如果驱动安装完毕…

黑苹果N卡的驱动在2022年6月1日后安装失败的解决办法

这个问题已经存在2个多月了&#xff0c;一般发生在刚使用N卡安装黑苹果或者还原Nvram的情况下&#xff0c;N卡驱动在10.13.6上&#xff0c;会提示安装失败&#xff0c;这是英伟达显卡驱动证书过期导致的&#xff0c;解决的方法有两个&#xff1a; 一个是禁用掉macOS的相关证书功…