tkinter的函数与实例1、使⽤tkinter.Tk() ⽣成主窗⼝(root=tkinter.Tk())
root.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种核⼼组件
Button          按钮;
Canvas          绘图形组件,可以在其中绘制图形;
Checkbutton      复选框;
Entry          ⽂本框(单⾏);
Text            ⽂本框(多⾏);
Frame           框架,将⼏个组件组成⼀组
Label          标签,可以显⽰⽂字或图⽚;
Listbox        列表框;
Menu       菜单;
Menubutton      它的功能完全可以使⽤Menu替代;
Message          与Label组件类似,但是可以根据⾃⾝⼤⼩将⽂本换⾏;
Radiobutton      单选框;
Scale        滑块;允许通过滑块来设置⼀数字值
Scrollbar        滚动条;配合使⽤canvas, entry, listbox, and text窗⼝部件的标准滚动条;
Toplevel        ⽤来创建⼦窗⼝窗⼝组件。
(在Tkinter中窗⼝部件类没有分级;所有的窗⼝部件类在树中都是兄弟。)
4、组件的放置和排版(pack,grid,place)
anchor的含义
坐标
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
htmlborder
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            所绑定的类;
⿏标键盘事件
<Button-1>          ⿏标左键按下,2表⽰中键,3表⽰右键;
<ButtonPress-1>     同上;
<ButtonRelease-1>   ⿏标左键释放;
<B1-Motion>    按住⿏标左键移动;
<Double-Button-1>    双击左键;
<Enter>         ⿏标指针进⼊某⼀组件区域;
<Leave>      ⿏标指针离开某⼀组件区域;
<MouseWheel>     滚动滚轮;
<KeyPress-A>     按下A键,A可⽤其他键替代;
<Alt-KeyPress-A>   同时按下alt和A;alt可⽤ctrl和shift替代;
<Double-KeyPress-A>  快速按两下A;
<Lock-KeyPress-A>   ⼤写状态下按A;
窗⼝事件
Activate            当组件由不可⽤转为可⽤时触发;
Configure          当组件⼤⼩改变时触发;
Deactivate         当组件由可⽤转变为不可⽤时触发;
Destroy            当组件被销毁时触发;
Expose              当组件从被遮挡状态中暴露出来时触发;
Unmap              当组件由显⽰状态变为隐藏状态时触发;
Map             当组件由隐藏状态变为显⽰状态时触发;
FocusIn           当组件获得焦点时触发;
FocusOut           当组件失去焦点时触发;
Property         当窗体的属性被删除或改变时触发;
Visibility           当组件变为可视状态时触发;
响应事件
event对象(def function(event)):
char              按键字符,仅对键盘事件有效;
keycode          按键名,仅对键盘事件有效;
keysym            按键编码,仅对键盘事件有效;
num                ⿏标按键,仅对⿏标事件有效;
type             所触发的事件类型;
widget          引起事件的组件;
width,heigh      组件改变后的⼤⼩,仅Configure有效;
x,y              ⿏标当前位置,相对于窗⼝;
x_root,y_root      ⿏标当前位置,相对于整个屏幕[![复制代码](commonblogs/images/copycode.gif)](javascript:void(0);
12、弹窗

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。