Tkinter 模块( Tk 接口)是 Python 的标准 Tk GUI 工具包的接口。Tkinter可以在大多数 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里。Tk 8.0 的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。
import tkinter # 导入 Tkinter 模块 win = tkinter.Tk() # 创建 Windows 窗口对象 win.title('我的第一个 GUI 程序') # 设置窗口标题 win.geometry("800x600") # 设置串口大小 #win.minsize(400, 600) # (选用) #win.maxsize(1440, 800) win.mainloop() # 进入消息循环,也就是显示窗口 1234567
效果如下图
其中,
宽度x高度 (注:x是小写字母x,不是乘号) 1 可以使用minsize()方法设置窗口的最小尺寸,使用maxsize()方法设置窗口的最大尺寸,方法如下:
窗口对象.minsize(最小宽度, 最大宽度) 窗口对象.maxsize(最小高度, 最大高度) 12
Tkinter 几何布局管理器(Geometry Manager)用于组织和管理父组件(往往是窗口)中子组件的布局方式。Tkinter 提供了 3 种不同风格的几何布局管理类,即pack、grid和place。
pack 几何布局管理器采用块的方式组织组件,pack 布局根据子组件创建生成的顺序将其放在快速生成的界面中。
调用子组件的方法pack(),则该子组件在其父组件中采用 pack 布局:
pack(option=value, ...) 1
pack()方法提供了如下表所示的若干参数选项。
pack 几何布局管理器的 GUI 程序如下所示:
import tkinter root = tkinter.Tk() root.geometry("400x300") label = tkinter.Label(root, text='hello, python') label.pack() # 将Label组件添加到窗口中显示 button1 = tkinter.Button(root, text='BUTTON1') # 创建文字是“BUTTON1”的Button组件 button1.pack(side=tkinter.LEFT) # 将button1组件添加到窗口中显示,左停靠 button2 = tkinter.Button(root, text='BUTTON2') # 创建文字是“BUTTON2”的Button组件 button2.pack(side=tkinter.RIGHT) # 将button2组件添加到窗口中显示,右停靠 root.mainloop() 1234567891011121314
运行效果如下图所示。
grid 几何布局管理器采用表格结构组织组件。 子组件的位置由行/列确定的单元格决定,子组件可以跨越多行/列。在每一列中,列宽由这一列中最宽的单元格确定。grid 几何布局管理器适合表现表格形式的布局,可以实现复杂的界面,因而被广泛使用。
调用子组件的grid()方法,则该子组件在其父组件中采用 grid 几何布局:
grid(option=value, ...) 1
grid()方法提供了如下表所示的若干参数选项。
grid 几何布局管理器有两个最为重要的参数,一个是 row,另一个是 column,用来指定将子组件放置到什么位置,如果不指定 row,会将子组件放置到第 1 个可用的行上,如果不指定 column,则使用第 0 列(首列)。 grid 几何布局管理器的 GUI 程序如下所示:
from tkinter import * root = Tk() # 200x200代表了初始化是主窗口的大小,280和280代表了 # 初始化时窗口所在的位置 root.geometry('200x200+280+280') root.title('计算器示例') # grid(网格)布局 L1 = Button(root, text='1', width=5, bg='yellow') L2 = Button(root, text='2', width=5) L3 = Button(root, text='3', width=5) L4 = Button(root, text='4', width=5) L5 = Button(root, text='5', width=5, bg='green') L6 = Button(root, text='6', width=5) L7 = Button(root, text='7', width=5) L8 = Button(root, text='8', width=5) L9 = Button(root, text='9', width=5, bg='yellow') L0 = Button(root, text='0') Lp = Button(root, text='.') L1.grid(row=0, column=0) # 按钮放置在0行0列 L2.grid(row=0, column=1) # 按钮放置在0行1列 L3.grid(row=0, column=2) # 按钮放置在0行2列 L4.grid(row=1, column=0) # 按钮放置在1行0列 L5.grid(row=1, column=1) # 按钮放置在1行1列 L6.grid(row=1, column=2) # 按钮放置在1行2列 L7.grid(row=2, column=0) # 按钮放置在2行0列 L8.grid(row=2, column=1) # 按钮放置在2行1列 L9.grid(row=2, column=2) # 按钮放置在2行2列 L0.grid(row=3, column=0, columnspan=2, sticky=E+W) # 跨两行,左右贴紧 Lp.grid(row=3, column=2, sticky=E+W) # 左右贴紧 root.mainloop()
1234567891011121314151617181920212223242526272829303132运行效果如下图所示:
place 几何布局管理器允许指定组件的大小和位置。place 几何布局管理器的优点是可以精确地控制组件的位置,不足之处是改变窗口大小时子组件不能随之灵活地改变大小。
调用子组件的方法place(),则该子组件在其父组件中采用 place 布局:
place(option=value, ...) 1
place()方法提供了如下表所示的若干参数选项,用户可以直接给参数选项赋值加以修改。
注意
Python 的坐标系是左上角为原点位置(0,0),向右是 x 坐标正方向,向下是 y 坐标正方向。
place 几何布局管理器的 GUI 示例程序如下所示:
from tkinter import * root = Tk() root.title("登录") root['width'] = 200; root['height'] = 80 Label(root, text='用户名', width=6).place(x=1, y=1) # 绝对坐标(1, 1) Entry(root, width=20).place(x=45, y=1) # 绝对坐标(45, 1) Label(root, text='密码', width=6).place(x=1, y=20) # 绝对坐标(1, 20) Entry(root, width=20, show='*').place(x=45, y=20) # 绝对坐标(45, 20) Button(root, text='登录', width=8).place(x=40, y=40) # 绝对坐标(40, 40) Button(root, text='取消', width=8).place(x=110, y=40) # 绝对坐标(110, 40) root.mainloop()
1234567891011121314151617运行效果如下图所示:
Tkinter 提供了很多组件,例如按钮、标签和文本框等,在一个 GUI 应用程序中使用,这些组件通常被称为控件或者部件。Tkinter 组件如下表所示:
通过组件类的构造函数可以创建其对象实例。例如:
from tkinter import * root = Tk() button1 = Button(root, text="确定") 123
组件的标准属性也就是所有组件(控件)的共同属性,例如大小、字体和颜色等。Tkinter 组件常用的标准属性如下表所示。
相关知识
七夕浪漫表白神器:用Python画出一个会发射爱心的小人
Python表白代码:5个步骤,用代码打造独一无二的表白
Python用turtle库绘制图形——漂亮的玫瑰
Python 常用的标准库以及第三方库有哪些?
Python中的花——详解花的图形绘制
如何用python画一朵花
Python(派森)
Python学习(tkinter系列)
【Python表白系列】制作一个无法拒绝的表白界面(完整代码)
PC摄像头=视频+手写板+电子毛笔
网址: Python图形界面设计(Tkinter库) https://m.huajiangbk.com/newsview1141746.html
上一篇: 梨树梨蝽的危害越来越严重 梨树绿 |
下一篇: C++ using用法 |