python中ttk和tkinter_Pythontkinter模块和参数1、使⽤tkinter.Tk() ⽣成主窗⼝(root=tkinter.Tk()); 美藤kouroot.title('标题名') 修改框体的名字,也可在创建时使⽤className参数来命名;
电视机显像管
root.quit() 退出;
root.update_idletasks()
root.update() 刷新页⾯;
2、初级样例:
1 import tkinter
2 root=tkinter.Tk() #⽣成root主窗⼝
3 label=tkinter.Label(root,text='Hello,GUI') #⽣成标签
4 label.pack() #将标签添加到主窗⼝
5 button1=tkinter.Button(root,text='Button1') #⽣成button1
6 button1.pack(side=tkinter.LEFT) #将button1添加到root主窗⼝
7 button2=tkinter.Button(root,text='Button2')
8 button2.pack(side=tkinter.RIGHT)
9 root.mainloop() #进⼊消息循环(必需组件) 3、tkinter中的15种核⼼组件:
按 Ctrl+C 复制代码
按 Ctrl+C 复制代码
4、组件的放置和排版(pack,grid,place)
pack组件设置位置属性参数:
after: 将组件置于其他组件之后;
before: 将组件置于其他组件之前;
anchor: 组件的对齐⽅式,顶对齐'n',底对齐's',左'w',右'e'
side: 组件在主窗⼝的位置,可以为'top','bottom','left','right'(使⽤时tkinter.TOP,tkinter.E);
fill 填充⽅式 (Y,垂直,X,⽔平)
expand 1可扩展,0不可扩展
grid组件使⽤⾏列的⽅法放置组件的位置,参数有:
column: 组件所在的列起始位置;
columnspam: 组件的列宽;
row: 组件所在的⾏起始位置;
rowspam: 组件的⾏宽;
place组件可以直接使⽤坐标来放置组件,参数有:anchor: 组件对齐⽅式;
x: 组件左上⾓的x坐标;
y: 组件右上⾓的y坐标;
relx: 组件相对于窗⼝的x坐标,应为0-1之间的⼩数;rely: 组件相对于窗⼝的y坐标,应为0-1之间的⼩数;width: 组件的宽度;
heitht: 组件的⾼度;
relwidth: 组件相对于窗⼝的宽度,0-1;
relheight: 组件相对于窗⼝的⾼度,0-1;清肺排毒颗粒的功效与作用
5、使⽤tkinter.Button时控制按钮的参数: anchor: 指定按钮上⽂本的位置;background(bg) 指定按钮的背景⾊;
bitmap: 指定按钮上显⽰的位图;
borderwidth(bd) 指定按钮边框的宽度;command: 指定按钮消息的回调函数;cursor: 指定⿏标移动到按钮上的指针样式;font: 指定按钮上⽂本的字体;
foreground(fg) 指定按钮的前景⾊;
height: 指定按钮的⾼度;
image: 指定按钮上显⽰的图⽚;
state: 指定按钮的状态(disabled);
text: 指定按钮上显⽰的⽂本;
width: 指定按钮的宽度
padx 设置⽂本与按钮边框x的距离,还有pady; activeforeground 按下时前景⾊
textvariable 可变⽂本,与StringVar等配合着⽤
6、⽂本框tkinter.Entry,tkinter.Text控制参数:
干果礼品盒
background(bg) ⽂本框背景⾊;
foreground(fg) 前景⾊;
selectbackground 选定⽂本背景⾊;
selectforeground 选定⽂本前景⾊;
borderwidth(bd) ⽂本框边框宽度;
font 字体;
show ⽂本框显⽰的字符,若为*,表⽰⽂本框为密码框;state 状态;
width ⽂本框宽度
textvariable 可变⽂本,与StringVar等配合着⽤
7、标签tkinter.Label组件控制参数:
Anchor 标签中⽂本的位置;
background(bg) 背景⾊;
foreground(fg) 前景⾊;
borderwidth(bd) 边框宽度;
width 标签宽度;
height 标签⾼度;
bitmap 标签中的位图;
font 字体;
image 标签中的图⽚;
justify 多⾏⽂本的对齐⽅式;
text 标签中的⽂本,可以使⽤'\n'表⽰换⾏textvariable 显⽰⽂本⾃动更新,与StringVar等配合着⽤
8、单选框和复选框Radiobutton,Checkbutton控制参数:
anchor ⽂本位置;
background(bg) 背景⾊;
foreground(fg) 前景⾊;
borderwidth 边框宽度;
width 组件的宽度;
height 组件⾼度;
bitmap 组件中的位图;
image 组件中的图⽚;
font 字体;
justify 组件中多⾏⽂本的对齐⽅式;
text 指定组件的⽂本;
value 指定组件被选中中关联变量的值;
variable 指定组件所关联的变量;
indicatoron 特殊控制参数,当为0时,组件会被绘制成按钮形式;
textvariable 可变⽂本显⽰,与StringVar等配合着⽤
9、组图组件Canvas控制参数
background(bg) 背景⾊;
foreground(fg) 前景⾊;
borderwidth 组件边框宽度;
width 组件宽度;
height ⾼度;
bitmap 位图;
image 图⽚;
绘图的⽅法主要以下⼏种:
create_arc 圆弧;
create_bitmap 绘制位图,⽀持XBM;
create_image 绘制图⽚,⽀持GIF(x,y,image,anchor);
create_line 绘制⽀线;
create_oval; 绘制椭圆;
create_polygon 绘制多边形(坐标依次罗列,不⽤加括号,还有参数,fill,outline);
create_rectangle 绘制矩形((a,b,c,d),值为左上⾓和右下⾓的坐标);
create_text 绘制⽂字(字体参数font,);
create_window 绘制窗⼝;
delete 删除绘制的图形;
itemconfig 修改图形属性,第⼀个参数为图形的ID,后边为想修改的参数;
move 移动图像(1,4,0),1为图像对象,4为横移4像素,0为纵移像素,然后⽤root.update()刷新即可看到图像的移动,为了使多次移动变得可视,最好加上time.sleep()函数;
只要⽤create_⽅法画了⼀个图形,就会⾃动返回⼀个ID,创建⼀个图形时将它赋值给⼀个变量,需要ID时就可以使⽤这个变量名。
coords(ID) 返回对象的位置的两个坐标(4个数字元组);
对于按钮组件、菜单组件等可以在创建组件时通过command参数指定其事件处理函数。⽅法为bind;或者⽤bind_class⽅法进⾏类绑定,bind_all⽅法将所有组件事件绑定到事件响应函数上。
10、菜单Menu
参数:
tearoff 分窗,0为在原窗,1为点击分为两个窗⼝
bg,fg 背景,前景
borderwidth 边框宽度
font 字体
activebackgound 点击时背景,同样有activeforeground,activeborderwidth,disabledforeground
cursor
postcommand
selectcolor 选中时背景
takefocus
title
视频显示器
type性蚀
relief
⽅法:
menu.add_cascade 添加⼦选项
menu.add_command 添加命令(label参数为显⽰内容)
menu.add_separator 添加分隔线
menu.add_checkbutton 添加确认按钮
delete 删除
11、事件关联
bind(sequence,func,add)——
bind_class(className,sequence,func,add)
bind_all(sequence,func,add)
事件参数:
sequence 所绑定的事件;
func 所绑定的事件处理函数;
add 可选参数,为空字符或‘+’;
className 所绑定的类;