文章目录
GUI
- GraphicalUserInterface,图形用户界面
- GUI for Python:
- Tkinter
- wxPython
- PyQt
- Tkinter
- 绑定的是TK GUI工具集,用途Python包装的Tcl代码
- PyGTK
- Tkinter的替代品
- wxPython
- 跨平台的Python GUI
- PyQt
- 跨平台的
- 商业授权可能有问题
import tkinter
tkinter._test()
Tkinter常用组件
-
按钮
Button 按钮组件 RadioButton 单选框按钮 CheckButton 选择按钮组件 Listbox 列表框组件
-
文本输入框
Entry 单行文本框组件 Spinbox 输入控件,可以指定输入范围值 Text 多行文本框组件 Message 用来显示多行文本
-
标签组件
Label 菜单组件 MenuButton 菜单按钮组件,可以使用Menu代替 Menu 菜单控件,用于显示菜单栏,下拉菜单,弹出菜单
-
滚动条
Scale 滑块组件 Scrollbar 滚动条组件
-
其他组件
Canvas 画布组件 Frame 框架组件,将多个组件编组 Toplevel 创建子窗口容器组件 PanedWindow 窗口布局管理的插件,可以包含一个或者多个子控件 LabelFrame 简单的容器控件 tkMessageBox 显示应用程序的消息框
标准属性
- 标准属性也就是所有控件的共同属性
属性 | 描述 |
---|---|
Dimension | 控件大小 |
Color | 控件颜色 |
Font | 控件字体 |
Anchor | 锚点 |
Relief | 控件样式 |
Bitmap | 位图 |
Cursor | 光标 |
几何布局
-
pack()
- 最简单,挨个摆放,从上往下,系统自动设置
- side: 停靠方位,可选值LEFT,TOP,RIGHT,BOTTON
- fill:填充方式,X,Y,BOTH,NONE
- expande:YES/NO
- anchor:N,E,S,W,CENTER
- ipadx:x方向的内边距
- ipady:y方向
- padx:x方向外边距
- pady:
-
place()
- 明确方位的摆放
- 相对位置布局,随意改变窗口大小会导致混乱
- 使用place函数,分为绝对布局和相对布局,绝对布局使用x,y参数
- 相对布局使用relx,rely, relheight, relwidth
-
grid()
- 通用使用方式:组件对象.grid(设置,)
- 利用row,column编号,都是从0开始
- sticky: N,E,S,W表示上下左右,用来决定组件从哪个方向开始
- 支持ipadx,padx等参数,跟pack函数含义一样
- 支持rowspan,columnspan,表示跨行,跨列数
# pack布局案例
import tkinter
baseFrame = tkinter.Tk()
# 以下所有代码都是创建一个组件,然后布局
btn1 = tkinter.Button(baseFrame, text='A')
btn1.