设为首页 收藏本站
查看: 1452|回复: 0

[经验分享] python gui之tkinter事件处理

[复制链接]

尚未签到

发表于 2015-12-2 11:06:21 | 显示全部楼层 |阅读模式
事件一览表事件代码备注鼠标左键单击按下1/Button-1/ButtonPress-1 鼠标左键单击松开ButtonRelease-1 鼠标右键单击3 鼠标左键双击Double-1/Double-Button-1 鼠标右键双击Double-3 鼠标滚轮单击2 鼠标滚轮双击Double-2 鼠标移动B1-Motion 鼠标移动到区域Enter 鼠标离开区域Leave 获得键盘焦点FocusIn 失去键盘焦点FocusOut 键盘事件Key 回车键Return 控件尺寸变Configure   
响应时间
提前响应
  ttk treeview的TreeviewSelect事件是提前的,即你选中了某行,通过treeview.selection()[0]得到的就是这一样。
  
延后相应
  比如ttk的treeview是的单击的情况,单击的行被选中了,但是通过 treeview.selection()[0]得到的却不是选中的行!而是之前选中的行。可以参考下这里。
响应函数
  event_handler(event,*args)
event参数
  event 参数有以下属性:
  ['__doc__', '__module__', 'char', 'delta', 'height', 'keycode', 'keysym', 'keysym_num', 'num', 'send_event', 'serial', 'state', 'time', 'type', 'widget', 'width', 'x', 'x_root', 'y', 'y_root']
Event Attributes
widget  The widget which generated this event. This is a valid Tkinter widget instance, not a name. This attribute is set for all events.
x, y  鼠标当前的相对位置,以像素为单位。
  比如,ttk treeview 有个通过y坐标定位行的方法:identify_row(self, y)
  
x_root, y_root  鼠标当前的绝对位置(相对于设备的左上角)。以像素为单位。
char  字符(键盘事件中才有), 类型是字符串。
keysym  The key symbol (keyboard events only).
  键符(键盘事件中才有)
keycode  键码 (键盘事件中才有).
num  按钮号码(鼠标事件中才有)1-左键/2-中/3-右
width, height  widget的新尺寸,以像素为单位(Configure events only).
type事件类型        1---        2---        3---        4---鼠标更多资料参考这里。绑定事件
控件.bind('<事件代码>',event_handler)
  适用于大多数控件。此外还有bind_all方法。
控件.protocal('事件代码', event_handler)
  这种情况的控件,必需是顶层窗口或者root容器。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-146262-1-1.html 上篇帖子: Karrigell for Python(老外的一篇介绍) 下篇帖子: Python科学计算发行版—Anaconda
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表