上海3d网站建设,东莞市官网网站建设品牌,绵阳阡陌网站建设,电商网官方网站立即学习:https://edu.csdn.net/course/play/19711/343107?utm_sourceblogtoedu
1.键盘事件#xff1a;按键松开或者按下触发事件的执行#xff0c;一般组件要绑定键盘事件都是同时绑定按键松开#xff08;“”KeyRelease#xff09;和按键按下#xff08;“…立即学习:https://edu.csdn.net/course/play/19711/343107?utm_sourceblogtoedu
1.键盘事件按键松开或者按下触发事件的执行一般组件要绑定键盘事件都是同时绑定按键松开“”KeyRelease和按键按下“KeyPress”
self.text.bind(KeyPress,lambda event:self.keyborad_event_handle(event))# 文本绑定键盘松开事件松开执行键盘事件处理方法self.text.bind(KeyRelease,lambda event:self.keyborad_event_handle(event))
2.案例Email的输入验证
本例以验证Email邮箱是否输入正确来示范键盘事件的例子主要需要实现
1启动窗体出现提示信息
2左键单击文本后提示信息消失
3在文本中输入邮箱
4输入格式正确则在文字标签中给出输入正确的提示文字输入错误也一样 3.知识点
1text.delete(0.0,end)删除文本的文字
2给文本绑定单击事件text.bind(Button-1,事件)
3修改文字标签的内容
StringVar、textvariable self.content tkinter.StringVar()#修改文字标签的文字self.label_text tkinter.Label(self.root,textvariable self.content,font (微软雅黑,15),)
4)获取文本的内容
self.text.get(0.0,end) 5)设置标签的内容
self.content.set(内容) 6正则表达式的匹配
re.match(需要满足的正则表达式需要验证的字符串re.I|re.X)#不区分大小写 4.完整代码 本例以验证Email邮箱是否输入正确来示范键盘事件的例子主要需要实现
1启动窗体出现提示信息
2左键单击文本后提示信息消失
3在文本中输入邮箱
4输入格式正确则在文字标签中给出输入正确的提示文字输入错误也一样import tkinter
import tkinter.simpledialog#简单对话框模块
import reEmail_patter r[0-9a-zA-Z]\w\w\.(cn|com|com.cn)#定义邮箱的正则表达式class Mainwindow():def __init__(self):self.root tkinter.Tk()self.root.title(linlianqin)self.root.geometry(600x500)#-------------------创建文本-----------------self.text tkinter.Text(self.root,width 100,height 20)#创建文本self.text.insert(tkinter.CURRENT,请输入正确的邮箱号...)#在文本当前位置插入提示信息#-----------------------给文本绑定事件-------------------#文本绑定左键单击事件左键单击后将提示信息清楚self.text.bind(Button-1,lambda event:self.text.delete(0.0,end))# 文本绑定键盘按下事件按下执行键盘事件处理方法self.text.bind(KeyPress,lambda event:self.keyborad_event_handle(event))# 文本绑定键盘松开事件松开执行键盘事件处理方法self.text.bind(KeyRelease,lambda event:self.keyborad_event_handle(event))self.text.pack() # 显示文本#-----------------创建文字标签--------------------------#文字标签用于显示文本框上输入的内容要想修改标签的文本就需要使用到tkinter.StringVar,textvariable self.contentself.content tkinter.StringVar()#修改文字标签的文字self.label_text tkinter.Label(self.root,textvariable self.content,font (微软雅黑,15),)self.label_text.pack()self.root.mainloop()#创建键盘事件方法def keyborad_event_handle(self,event):email self.text.get(0.0,end)#获得文本框上输入的文本if re.match(Email_patter,email,re.I|re.X):#如果输入的邮箱符合正则表达式则显示下面否则显示输入错误self.content.set(邮箱格式正确邮箱为%s%email)else:self.content.set(邮箱输入错误)# self.content.set(email)#将获得文本的内容设置传递给content进而传递给文字标签进行显示def main():Mainwindow()if __name__ __main__:main()