Python小细节之Gui图形化界面库tkinter学习

发布时间:2024年01月05日

引言

我的爬取表情包的爬虫文件写好了
运行
输入关键词就可以得到对应的
表情包
我也通过pyinstall 打包了
但是很丑
就只有一个黑box

我是新手
所以我知道
这对于普通人来说
不友好
且在使用的过程中
不方便交互

加 界面 优化!

我不会呀!

一起学!
在这里插入图片描述

在这里插入图片描述
这是我的爬取表情包程序的界面,一个字!丑!
后续会继续优化!
在这里插入图片描述

开整

选择决定难易

在上一篇编辑器Spyder的bug
深刻意识到了
选择很重要
我知道python有多个图形界面化库
所以做了对比文章
结果是选择了 Tkinter
在这里插入图片描述

了解她

1. Tkinter简介
Tkinter是基于Tcl/Tk工具包的Python接口,这是一个跨平台的GUI开发工具包,支持在Windows、Mac OS X和Linux等操作系统上创建桌面应用程序。

2. 基本用法
使用Tkinter创建一个最简单的窗口,你需要导入Tkinter模块并创建一个顶级窗口对象:

import tkinter as tk

# 创建主窗口
root = tk.Tk()

# 设置窗口标题
root.title("我的第一个Tkinter程序")

# 窗口默认大小
root.geometry("300x200")

# 运行窗口主循环
root.mainloop()

3. 控件与布局
Tkinter提供了多种控件,如按钮(tk.Button)、标签(tk.Label)、文本框(tk.Entry)、滚动条(tk.Scrollbar)、复选框(tk.Checkbutton)、单选按钮(tk.Radiobutton)等。你可以通过这些控件构建丰富的交互式界面,并利用布局管理器(如tk.Gridtk.Placetk.Pack)来组织控件的位置和排列方式。

例如,添加一个按钮到窗口中:

button = tk.Button(root, text="点击我", command=lambda: print("你点击了按钮"))
button.pack()  # 使用pack布局管理器将按钮放入窗口中

4. 事件处理
Tkinter支持事件驱动编程,可以为各个控件绑定事件处理器,如点击按钮时触发的动作:

def on_button_click():
    print("按钮被点击了")

button = tk.Button(root, text="点击事件测试")
button.bind("<Button-1>", on_button_click)  # 绑定鼠标左键点击事件

5. 更多高级功能
Tkinter还支持更多高级特性,如菜单栏(tk.Menu)、弹出对话框(tk.messagebox)、文件对话框(tk.filedialog)、颜色选择器(tk.colorchooser)等,以及自定义图形绘制(通过tk.Canvas)。
对了
在这里插入图片描述

官方文档不能忘
时刻记住,使用上面有解决不来的问题
回顾官方文档是最好的
要是连官方文档都解决不了
那么 那就是bug!

使用她

```python
import tkinter as tk  # 导入tkinter模块,别名tk
from tkinter import messagebox  # 导入messagebox模块

# 初始化窗口
root = tk.Tk()  # 创建一个Tkinter的根窗口对象
root.title("简易计数器")  # 设置窗口标题为"简易计数器"
root.geometry("300x150")  # 设置窗口大小为300x150

# 定义初始计数值
count = 0  # 初始化计数为0

# 创建一个标签来显示计数结果
label = tk.Label(root, text="计数: " + str(count), font=("Arial", 16))  
# 创建一个Label对象,显示计数结果
label.pack(pady=20)  # 将Label对象添加到窗口中,并设置垂直间距为20

# 定义一个函数来处理按钮点击事件并更新计数
def increment_count():
    global count  # 声明count为全局变量
    count += 1  # 计数加1
    label.config(text="计数: " + str(count))  # 更新计数显示
    root.bell()  # 点击一下播放一次声音
    if count % 10 == 0:  # 每敲10次暂停一次
        root.bell()  # 停止播放声音
        messagebox.showinfo("提示", "敲击了" + str(count) + "下")  # 弹窗显示敲击了多少下

# 创建一个按钮,并绑定点击事件到increment_count函数
button = tk.Button(root, text="点我计数", command=increment_count)  
# 创建一个Button对象,点击时调用increment_count函数
button.pack(pady=10)  # 将Button对象添加到窗口中,并设置垂直间距为10

# 运行主循环
root.mainloop()  # 进入Tkinter的主循环,等待事件发生

``

它会在每次点击按钮时增加计数并更新显示在标签上的数字
同时,每次点击都会播放一次系统提示音(root.bell())
并且当计数达到10的倍数时
会额外播放一次提示音
并弹出一个消息对话框显示当前的敲击次数。
展示了如何使用Tkinter创建基本的图形用户界面组件(如窗口、标签和按钮)
还演示了事件绑定、全局变量的使用
以及如何调用messagebox模块来显示信息对话框。
在这里插入图片描述

运行效果

在这里插入图片描述
这个小程序让我想起了敲木鱼
哈哈
等你们学会
后续你们可以再这个的基础上进行延时
做出来记得分享哦!

结尾

现在有了Ai真的很方便
每行代码都给你注释的明明白白
我只需要再看一眼
确保说的是人话
那么这个教程代码就可以顺利产出!
相信你们应该都看得懂吧
在这里插入图片描述

开玩笑啦, ! 不懂评论区见

那么
有缘再见!
在这里插入图片描述

文章来源:https://blog.csdn.net/qq_39471885/article/details/135384819
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。