这篇博客将简要地介绍Python的Tkinter模块,主要供没了解过Tkinter模块的人进行了解,后续还会贴出具体的教程,让初学者也能进行GUI编程!
在编程软件(我用的是VScode)中,按住Ctrl键的同时点击我们程序文本中的tkinter字样,可以跳转到tkinter模块的__init__.py文件,让我们来看看那里面是怎么说的
一、Tkinter Widget【Tkinter 控件】
Tkinter模块提供了2种Toplevel控件和许多基本控件,目前已包括15种,每种控件都有很多属性
Toplevel控件 | 控件名称 | 描述 |
Tk | 容器控件 | 提供一个对话框作为主窗口 |
Toplevel | 容器控件 | 提供一个单独的对话框作为子窗口(弹出新窗口) |
基本控件 | 控件名称 | 描述 |
Frame | 框架控件 | 显示一个区域,作为其他基本控件的容器 |
Label | 标签控件 | 显示文本和位图 |
Entry | 输入控件 | 可以输入并显示文本 |
Text | 文本控件 | 显示多行文本 |
Canvas | 画布控件 | 显示图片、图形(如线条)或文本 |
Button | 按钮控件 | 显示一个带有功能的按钮 |
Radiobutton | 单选按钮控件 | 显示一个带有功能的单选按钮 |
Checkbutton | 复选按钮控件 | 显示一个带有功能的多选按钮 |
Scale | 范围控件 | 显示一个数值刻度,为输出限定范围的数字区间 |
Listbox | 列表框控件 | 显示一个字符串列表 |
Scrollbar | 滚动条控件 | 当内容超过可视化区域时使用,如列表框 |
OptionMenu | 选项菜单控件 | 显示一个位于窗口顶部的菜单栏 |
Spinbox | 输入控件 | 与Entry输入控件类似,但是可以指定输入范围值 |
LabelFrame | 容器控件 | 简单的容器控件,常用与复杂的窗口布局 |
PanedWindow | 窗口布局管理插件 | 可以包含一个或者多个子控件 |
二、Geometry Managers【几何管理器】
Tkinter模块提供了3中几何管理方法,包括Pack、Grid和Place
几何管理方法 | 名称 | 描述 |
pack | 布局 | 比较简单,但不够精确,一般用于简单的GUI编程 |
grid | 网格 | 一般用于网格较多的GUI编程 |
place | 位置 | 可以精确地放置控件,但需要控件在对话框或其他容器中的坐标 |
三、举个栗子
这里我列举几个我用Python Tkinter模块编写的简单程序
示例一 【简单GUI】
【图片展示】
【源代码】
from tkinter import *#引入tkinter模块【必要步骤】
root = Tk()#创建窗口并赋值到root变量(给这个窗口命名)【必要步骤】
root.title('My Window')#给窗口加一个标题
root.geometry('960x480+150+100')#设置窗口弹出的位置
label1 = Label(root,text='Penta Kill\n~五连绝世~',font=('华文新魏',60),fg='orange',bg='skyblue')#创建一个标签控件
label1.place(width=480,height=240,x=240,y=120)#放置标签
root.mainloop()#让窗口进入事件循环【必要步骤】
示例二【大鱼吃小鱼】
【图片展示】
【源代码】关注我,后期我会贴出来
示例三【五子棋】
【图片展示】
【源代码】关注我,后期我会贴出来
【以上程序均只需用Tkinter模块就可以产生,无需Pygame等其他模块】