tkinter python自带的gui库,对图形图像处理库tk的封装
1.概念介绍:
组件:组成界面的构成内容就是组件(按钮,文本输入框,滚动条,菜单,列表)
窗口:一个软件的矩形区域
2.界面开发最小内容:
1.导入tkinter模块
2.创建主窗口对象
3.将创建对象加入消息循环中
3.组件的摆放方式(禁止同时使用两种布局)
pack() 方式 —>方向方位摆放
grid() 方式 —>网格摆放
place() 方式 —>定位摆放
a)pack()方式:
- side 设置组件相对于父组件的摆放位置(top,bottom,left,right)
- fill 按钮充满x/y轴(x,y,both)
- ipadx,ipady 设置组件之间的内部间距(x,y)
- padx,pady 设置多个组件之间的外部间距(x,y)
- expand 设置side是否生效(yes,no)
注意:仅仅使用pack无法实现表格方式,必须借助后面的Frame组件才可以实现
b) grid()方式:
- row 设置行数 默认0
- column 设置列数 默认0
- rowspan 设置跨行数量
- columnspan 设置跨列数量
- ipadx,ipady 设置组件之间的内部间距(x,y)
- padx,pady 设置多个组件之间的外部间距(x,y)
c) place()方式:
两组属性,不可混用
-
绝对定位:
x 设置距离左上角的水平长度 px
y 设置距离左上角的垂直高度 px
width 设置组件所占据的宽度 px
height 设置组件所占据的高度 px -
相对定位:
relx 设置距离左上角的水平长度(取值0~1)
rely 设置距离左上角的垂直高度(取值0~1)
relwidth 设置组件所占据的宽度(取值0~1)
relheight 设置组件所占据的高度(取值0~1)
以上属性都是相对于界面(父)的宽高百分比,而且可以根据界面大小变化而变化
4.按钮组件基本属性tkinter.Button:
-
字体font:
按照元组()形式写入参数列表,亦有tkFont模块,tkinter.font -
背景颜色bg:
单词/16进制 -
锚点anchor:
八个方位带center(n,nw,s,sw,e,ne,se,w) -
三维效果relief:
设置按键凸起,凹陷效果(flat,groove,raised,sunken,ridge) -
位图bitmap(x位图):
有(error,gray75,gray50,gray25,gray12,hourglass,info,questhead,question,warning…)
亦可使用自带的.xbm格式图,使用@后跟.xbm文件路径
5.鼠标cursor:
鼠标放上"对象界面"(按键/整个窗口)后所显示形状,具体图形见文档,例如heart
- 图片:
- 双色位图.xbm使用BitmapImage类
tkinter.BitmapImage(file=f, [background=b], [foreground=c])
log = tkinter.BitmapImage(“log.xbm”, foreground=“red”)
标签(图像=标志).grid() - 彩色.gif/.pgm/.ppm使用PhotoImage类
img = tkinter.Image(file)
tkinter.Button(root, image=img) - PIL(Python Imaging Library)支持多种格式图像,ImageTk类
- 双色位图.xbm使用BitmapImage类
多行文本对齐justify:
多行文本对齐(center,left,right)
-
状态state:
- disable按键不可点击(灰色) tkinter.DISABLE
- active鼠标悬停时有值 tkinter.ACTIVE
- 默认是normal tkinter.NORMAL
-
边框粗细bd:
加数字就行了