前言
看过前面的图片脚本篇是不是对图形化界面略微感兴趣了?这篇文章就来讲一下python中tkinter库的使用。
Tkinter是Python的标准GUI(图形用户界面)工具包,它允许开发者使用Python编程语言来创建窗口、按钮、文本框等图形元素,进而构建出功能丰富的桌面应用程序。
导航
pillow库的使用篇
- 图像处理库Pillow(PIL)的使用-1(实例+详细注释+图片脚本)
- 图像处理库Pillow(PIL)的使用-2(实例+详细注释+图片脚本)
- 图像处理库Pillow(PIL)的使用-3(实例+详细注释+图片脚本)
Tkiner库的使用篇
- 图形化界面的开发(GUI):Tkinter库的使用-1(综述)
- 图形化界面的开发(GUI):Tkinter库的使用-2(Label+Message+Text)
- 图形化界面的开发(GUI):Tkinter库的使用用-3(Button+Radiobutton+Checkbutton)
- 图形化界面的开发(GUI):Tkinter库的使用-4(Entry+Spinbox+Listbox+Combobox)
- 图形化界面的开发(GUI):Tkinter库的使用-5(Menu+Canvas+Scale+Scrollbar)
图片脚本篇
- python图片脚本1-批量处理图片尺寸(详细注释+GUI界面+exe可执行文件)
- python图片脚本2-图片文件批量命名(详细注释+GUI界面+exe可执行文件)
- python图片脚本3-批量图片格式转换-(详细注释+GUI界面+exe可执行文件)
- python图片脚本4-批量图片加水印(详细注释+GUI界面+exe可执行文件)
Tkinter库的使用
一个图形用户界面由各种组件组成的,它的个性化设置就需要一下组件的方法和属性以及布局进行设置。下面先总的看一下各种组件,组件的标准属性和布局方法。后续会依次对这些控件,属性以及布局方法进行详细的介绍。
Tkinter组件
组件 | 描述 |
Label | 标签控件;可以显示文本和位图 |
Message | 消息控件;用来显示多行文本,与label比较类似 |
Text | 文本控件;用于显示多行文本 |
Button | 按钮控件;在程序中显示按钮。 |
Radiobutton | 单选按钮控件;显示一个单选的按钮状态 |
Checkbutton | 多选框控件;用于在程序中提供多项选择框 |
Entry | 输入控件;用于显示简单的文本内容 |
Spinbox | 输入控件;与Entry类似,但是可以指定输入范围值 |
Menubutton | 菜单按钮控件,用于显示菜单项。 |
Menu | 菜单控件;显示菜单栏,下拉菜单和弹出菜单 |
Canvas | 画布控件;显示图形元素如线条或文本 |
Frame | 框架控件;在屏幕上显示一个矩形区域,多用来作为容器 |
Toplevel | 容器控件;用来提供一个单独的对话框,和Frame比较类似 |
Scale | 范围控件;显示一个数值刻度,为输出限定范围的数字区间 |
Scrollbar | 滚动条控件,当内容超过可视化区域时使用,如列表框。. |
Listbox | 列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户 |
PanedWindow | PanedWindow是一个窗口布局管理的插件,可以包含一个或者多个子控件。 |
LabelFrame | labelframe 是一个简单的容器控件。常用于复杂的窗口布局。 |
tkMessageBox | 用于显示你应用程序的消息框。 |
基本属性
每个控件都有着各自不同的功能,即使有些控件功能相似,但它们的适用场景也不同。所有控件既有相同属性,也有各自独有的属性。本节内容,先对这些控件的共用属性做简单介绍,如下表所示:
属性 | 描述 |
text | 标题文字 |
font | 控件字体 |
width/height | 控件的宽度/高度 |
padx/pady | 控件内的文字或图片与控件边框之间的水平/垂直距离 |
command | 该参数用于执行事件函数 |
borderwidth | 控件边框宽度 |
color | 控件颜色 |
bg | 背景颜色 |
fg | 字体颜色 |
image | 定义显示在控件内的图片文件 |
anchor | 锚点;定义控件或者文字信息在窗口内的位置 |
relief | 定义控件边框样式; |
bitmap | 位图; |
cursor | 光标;鼠标移动到控件上,定义鼠标指针的类型 |
布局方式
在Tkinter中,管理布局的有三种方法:pack()、grid()和place()。这三种方法各有特点,适用于不同的布局需求。
几何方法 | 描述 |
pack() | 包装; |
grid() | 网格; |
place() | 位置; |
第一个Tkinter程序
每一个tkinter程序,至少包含以下两个部分:
- 主窗口window
- 启动窗口window.mainloop()
下面的代码,会创建一个最简单的桌面图形应用程序:
import tkinter as tk
# 创建窗口
window = tk.Tk()
# 设置窗口标题
window.title("第一个窗口")
# 设置窗口大小
window.geometry("400x300")
# 显示窗口
window.mainloop()
运行结果如下:
共勉
优秀是一种习惯!
博客
- 本人是一个渗透爱好者,不时会在微信公众号(laity的渗透测试之路)更新一些实战渗透的实战案例,感兴趣的同学可以关注一下,大家一起进步。
- 之前在公众号发布了一个kali破解WiFi的文章,感兴趣的同学可以去看一下,在b站(up主:laity1717)也发布了相应的教学视频。