• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
QQ糖_尤尤
博客园    首页    新随笔    联系   管理    订阅  订阅
Python tkinter之控件方法bind的使用

 

1.调用规则:窗体对象.bind(事件类型,回调函数)

 

2.<Button-1>表示鼠标左键单击,其中的1换成3表示右键被单击,为2的时候表示鼠标中键

  t=Label(root, text='标签')

  t.bind(<Button-1>, 函数名)  # 鼠标左键点击时调用函数

例:

 

 1 from tkinter import *
 2 tk=Tk()#父窗口类实例
 3 tk.title("bind用法实例")#窗口标题
 4 
 5 def LoveChina(event):#定义回调函数
 6     x1=Label(tk,text='我爱你中国!',background='pink')
 7     x1.pack()
 8 x2=Button(tk,text='单击左键试试')#定义一个按钮
 9 x2.bind('<Button-1>',LoveChina)#单击鼠标左键,绑定LoveChina()函数
10 x2.pack()
11 
12 tk.mainloop()

 

运行结果如下:

 

3.<KeyPress-A>表示A键被按下,其中的A可以换成其他的键位

4.<Control-V>表示按下的是Ctrl和V键,V可以换成其他键位

5.<F1>表示按下的是F1键,对于Fn系列的,都可以随便换

6.unbind()事件

unbind([type],[data],Handler) 是 bind()的反向操作,从每一个匹配的元素中删除绑定的事件。如果没有参数,则删除所有绑定的事件。你可以将你用bind()注册的自定义事件取消绑 定。如果提供了事件类型作为参数,则只删除该类型的绑定事件。如果把在绑定时传递的处理函数作为第二个参数,则只有这个特定的事件处理函数会被删除。

 

其中bind函数是定义在Misc类里面的,也就是说,这个bind可以被绝大多数组件类所使用

注意:若使用bind,则布局必须写在bind后无法会报AttributeError错

 8 x2=Button(tk,text='单击左键试试')#定义一个按钮
 9 x2.bind('<Button-1>',LoveChina)#单击鼠标左键,绑定LoveChina()函数
10 x2.pack()

 

 

关于bind函数,还有两个版本:

1.可以在全程序级别的绑定,使用bind_all,它的参数类型和bind一样,它通常用于全局的快捷键,比如F1通常是用来打开帮助文档

2.还可以绑定某些类别,使用bind_class,它接受三个参数,第一个参数是类名,第二个参数是事件类型,第三个参数是相应的操作,比如w.bind_class(“Entry”,“<Control-V>”,my_paste)。它就是绑定了所有的所有的输入框的Ctrl+V表示粘贴

posted on 2020-07-29 16:26  QQ糖_尤尤  阅读(16954)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3