python中tkinter的使用(相应事件整理)(二)

1、字体(font)

一般格式:('Times -10 bold')

('Times',10,'bold','italic')    依次表示字体、字号、加粗、倾斜

2、使用图片(image)

photo=PhotoImage(file='path.gif')

canvas = Canvas.create_image(image=photo)

Tkinter只支持gif和bmp等少数几种格式,想要插入其他格式图片需要导入PIL;pip 安装第三方类库pillow

from PIL import Image,ImageTk

source=Image.open('path.jpg')

photo=ImageTk.PhotoImage(source)

3、数据容器

使用set和get方法进行传值和取值,

StringVar()        :字符类型

BooleanVar()       :布尔类型

IntVar()                :整数型

DoubleVar()        :浮点类型

4、数据绑定:(传值)

Entry、Text、Laber、ButtonRadiobutton、Checkbutton使用textvariable接收或显示可变文本

entryValue = StringVar() 

entry = Entry(textvariable=entryValue) 

entryValue.get()                 #输出接收的值

5、数据绑定:(关联)

Radiobutton,Checkbutton:使用value(组件关联变量的值)、variable(组件所关联的变量)

rbValue = IntVar()

rb1 = Radiobutton(text="Red",variable=rbValue,value=1,command=func)

6、绑定事件

  • bind(sequence,func,add)
  • bind_class(className,sequence,func,add)
  • bind_all(sequence,func,add)

对于按钮组件、菜单组件等可以在创建组件时通过command参数指定其事件处理函数。方法为bind;或者用bind_class方法进行类绑定,bind_all方法将所有组件事件绑定到事件响应函数上。

事件参数:  

事件参数: sequence      所绑定的事件;                                          
  func               所绑定的事件处理函数,即响应事件;
  add              可选参数,为空字符或‘+’;
  className      所绑定的类;

7、鼠标键盘事件

    <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;

    <Key>                                指键盘的任意按键,

8、窗口事件

    Activate             当组件由不可用转为可用时触发;

    Configure            当组件大小改变时触发;

    Deactivate          当组件由可用转变为不可用时触发;

    Destroy              当组件被销毁时触发;

    Expose              当组件从被遮挡状态中暴露出来时触发;

    Unmap              当组件由显示状态变为隐藏状态时触发;

    Map                  当组件由隐藏状态变为显示状态时触发;

    FocusIn              当组件获得焦点时触发;

    FocusOut            当组件失去焦点时触发;

    Property             当窗体的属性被删除或改变时触发;

    Visibility           当组件变为可视状态时触发;

9、响应事件

event对象(def func(event))的API:

  char   返回 按键字符,仅对键盘事件有效;                                                    
  keycode  返回 按键编码,仅对键盘事件有效;
  keysym              返回 按键名,仅对键盘事件有效;
  num     鼠标按键,仅对鼠标事件有效;
  type                  所触发的事件类型;
  widget   引起事件的组件;
  width,heigh 组件改变后的大小,仅Configure有效;
   x,y   返回  鼠标当前位置,相对于窗口;
  x_root,y_root  返回   鼠标当前位置,相对于整个屏幕

猜你喜欢

转载自blog.csdn.net/memory_qianxiao/article/details/81080696