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

敲打计数脚本学TKinter

引言

我的爬取表情包的爬虫文件写好了

运行

输入关键词就可以得到对应的

表情包

我也通过pyinstall 打包了

但是很丑

就只有一个黑box

我是新手

所以我知道

这对于普通人来说

不友好

且在使用的过程中

不方便交互

加 界面 优化!

我不会呀!

一起学!

这是我的爬取表情包程序的界面,一个字!丑!

后续会继续优化!

开整

选择决定难易

在上一篇编辑器Spyder的bug

深刻意识到了

选择很重要

我知道python有多个图形界面化库

所以做了对比文章

结果是选择了 Tkinter

了解她

1. Tkinter简介

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

2. 基本用法

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

python 复制代码
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)来组织控件的位置和排列方式。

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

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

4. 事件处理

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

python 复制代码
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!

使用她

objectivec 复制代码
```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真的很方便

每行代码都给你注释的明明白白

我只需要再看一眼

确保说的是人话

那么这个教程代码就可以顺利产出!

相信你们应该都看得懂吧

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

那么

有缘再见!

相关推荐
2401_857439691 小时前
SSM 架构下 Vue 电脑测评系统:为电脑性能评估赋能
开发语言·php
SoraLuna2 小时前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos
xlsw_2 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
梧桐树04293 小时前
python常用内建模块:collections
python
Dream_Snowar3 小时前
速通Python 第三节
开发语言·python
南宫生3 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
高山我梦口香糖4 小时前
[react]searchParams转普通对象
开发语言·前端·javascript
sanguine__4 小时前
Web APIs学习 (操作DOM BOM)
学习
信号处理学渣4 小时前
matlab画图,选择性显示legend标签
开发语言·matlab
红龙创客4 小时前
某狐畅游24校招-C++开发岗笔试(单选题)
开发语言·c++