第三阶段我们开始GUI编程实战,本部分主要是为接下来的爬虫、数据分析、人工智能等模块提供一个展示的平台,让自己的应用可以在任何人的电脑上运行
hello,各位小伙伴,本周我们讲事件关联。咦咦咦,怎么不讲控件了,控件先到此结束了。
事件和绑定正如前提到的,Tkinter应用程序大部分事件都在事件循环中(通过mainloop方法进入事件循环)事件来自于多个来源,比如用户的键盘的输入和鼠标操作,和windowmanager的重绘事件(大多数情况下不是有用户直接调用的)。Tkinter提供强大的机制让您自己处理事件,每个组件你都可以为各种事件绑定python的函数和方法widget.bind(event,handler)如果组件中发生了与event描述匹配的事,将调用handler指定的处理程序。
Windows编程是基于消息的,绝大多数界面编程是基于事件的。
事件的绑定函数bind:
语法:窗体对象.bind(事件类型,回调函数) 所谓的“回调函数”,就是这个函数我们不用去调用它,当相应的事件发生的时候,它会自动取调用。比如当我们的按钮被按下的时候,它会被自动调用。
绑定事件:
sequence所绑定的事件;
func所绑定的事件处理函数;
add可选参数,为空字符或‘+’;
className所绑定的类 ;
鼠标键盘事件(略过):
好了,话不多少,我们来个栗子:
# -*- coding: utf-8 -*-
# !/usr/bin/python
from tkinter import *
myWindow = Tk()
myWindow.title("pythoncoder1024")
# 点击鼠标左键,输出点击的位置坐标
def callback(event):
print("clicked at", event.x, event.y)
frame = Frame(myWindow, width=380, height=300)
frame.bind("<Button-1>", callback)
frame.pack()
myWindow.mainloop()
好了,看一下最终的效果:
注意:1.欢迎大家把自己的答案在最下面进行留言,或者后台留言。
2.此系列练习运行环境为python2.7或者3.6都是可以的,对于还未装开发环境的小伙伴请留言,视人数多少会为大家讲解环境的搭建。
3.代码是可以直接复制在编译器中直接运行的,在查看的时候可以通过滑动屏幕来查看。
4.Tkinter的包名因Python的版本不同存在差异,有两种:Tkinter和tkinter,读者若发现程序不能运行,可以尝试切换包名
本文分享自 python编程从入门到实践 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!