tkinter: 事件 & 绑定 (Events and Bindings)
来源:互联网 发布:keep健身软件音乐 编辑:程序博客网 时间:2024/05/23 14:23
目的
tkinter 获取 键盘输入 与 鼠标输入 。
实现代码
# coding=utf-8import tkinter as tkroot = tk.Tk()def center_window(w, h): # 获取屏幕 宽、高 ws = root.winfo_screenwidth() hs = root.winfo_screenheight() # 计算 x, y 位置 x = (ws/2) - (w/2) y = (hs/2) - (h/2) root.geometry('%dx%d+%d+%d' % (w, h, x, y))center_window(500, 500)# 单击键盘def key(event): print "pressed", repr(event.char)# 单击左键def callback_1(event): #当前框架被选中,意思是键盘触发,只对这个框架有效 frame.focus_set() print "left clicked at : (window coordinate {}, {}), (screen coordinate {}, {}) ".format(event.x, event.y, event.x_root, event.y_root)# 单击滚轮def callback_2(event): #当前框架被选中,意思是键盘触发,只对这个框架有效 frame.focus_set() print "middle clicked at : (window coordinate {}, {}), (screen coordinate {}, {}) ".format(event.x, event.y, event.x_root, event.y_root)# 单击右键def callback_3(event): #当前框架被选中,意思是键盘触发,只对这个框架有效 frame.focus_set() print "right clicked at : (window coordinate {}, {}), (screen coordinate {}, {}) ".format(event.x, event.y, event.x_root, event.y_root)frame = tk.Frame(root, width=500, height=500, bg='blue')frame.bind("<Key>", key)frame.bind("<Button-1>", callback_1)frame.bind("<Button-2>", callback_2)frame.bind("<Button-3>", callback_3)frame.bind('<Control-q>', lambda event: frame.quit())frame.pack()root.mainloop()
打印结果
left clicked at : (window coordinate 123, 239), (screen coordinate 833, 557) middle clicked at : (window coordinate 161, 221), (screen coordinate 871, 539) right clicked at : (window coordinate 206, 228), (screen coordinate 916, 546) pressed 'r'pressed 'g'pressed ''Process finished with exit code 0
阅读全文
2 0
- tkinter: 事件 & 绑定 (Events and Bindings)
- Tkinter -- 事件与绑定
- python tkinter教程-事件绑定
- python3 tkinter如何绑定事件
- tkinter Event Bindings
- 小白学tkinter(事件之(事件绑定))
- Tkinter事件绑定,参数如何传递
- tkinter绑定鼠标滚轮滚动事件
- [Tkinter 教程15] event 事件绑定
- 拦截器与事件(Interceptors and events)
- Events and Delegates(事件和委托)
- wcf 绑定(Bindings)
- Tkinter中的Events事件(关于bind()的详细描述)
- events 事件
- data and bindings
- 简单化的事件与委托 Events and Delegates simplified
- Delegates, Events, and Anonymous Methods 委托、事件与匿名方法
- 19.0~19.11 Dates, Calendars, and Events 日历事件的处理
- Springboot自定义异常处理
- 【bzoj3709】[PA2014]Bohater
- 分布式爬虫基本框架
- R语言学习笔记(一)数据结构
- 【tensorflow_error】tensorflow:importerror错误汇总
- tkinter: 事件 & 绑定 (Events and Bindings)
- 2017年10月18日普及组 文件名排序
- Scoket编程基础及tcp&udp的简介And区别
- 120行代码爬取电子书网站
- C语言使用系统声音制作很lou的音乐键盘
- 成语加减法
- TCP/IP-概述
- iOS开发UITableView篇:[self.tableView reloadData]执行时间过长问题解决历程
- 边缘文本检测:快速的和健壮的场景文本定位算法的研究