首页 > 编程语言 >Python基础入门学习笔记 074 GUI的终极选择:Tkinter11

Python基础入门学习笔记 074 GUI的终极选择:Tkinter11

时间:2023-08-23 14:14:35浏览次数:44  
标签:074 Python GUI event callback 按下 按键 root frame

事件绑定

对于每个组件来说,可以通过bind()方法将函数或方法绑定到具体的事件上。当被触发的事件满足该组件绑定的事件时,Tkinter就会带着事件描述去调用handler()方法

实例1:捕获单击鼠标位置

 1 from tkinter import*
 2 
 3 root = Tk()
 4 
 5 def callback(event):
 6     print("点击位置:",event.x,event.y)
 7 
 8 frame = Frame(root,width=200,height=200)
 9 #Button表示鼠标点击事件
10 #1代表左键 2代表中间滚轮点击 3代表右键
11 frame.bind("<Button-1>",callback)#按键按下时,调用callback方法
12 frame.pack()
13 
14 mainloop()

 实例2:捕获键盘事件

 1 #捕获单击鼠标的位置
 2 from tkinter import*
 3 
 4 root = Tk()
 5 
 6 def callback(event):
 7     print("敲击位置:",repr(event.char))#打印当前按下按键的字符
 8     print(event.char)
 9 
10 frame = Frame(root,width=200,height=200)
11 #Key为键盘事件
12 frame.bind("<Key>",callback)#按键按下时,调用callback方法
13 frame.focus_set()#获得焦点
14 frame.pack()
15 
16 mainloop()

 实例3:捕获鼠标在组件上的运动轨迹

 1 #当鼠标在组件内移动的整个过程均触发该事件
 2 
 3 from tkinter import*
 4 
 5 root = Tk()
 6 
 7 def callback(event):
 8     print("当前位置:",event.x,event.y)#打印当前按下按键的字符
 9 
10 frame = Frame(root,width=200,height=200)
11 frame.bind("<Motion>",callback)#按键按下时,调用callback方法
12 frame.pack()
13 
14 mainloop()

事件序列

Tkinter使用一种称为事件序列的机制来允许用户定义事件,用户需要使用bind()方法将具体的事件序列与自定义的方法绑定

Event对象(按键名keysym和按键码keycode)

实例1:打印当前按下按键的按键名

 1 from tkinter import*
 2 
 3 root = Tk()
 4 
 5 def callback(event):
 6     print(event.keysym)#打印当前按下按键的按键名
 7     print(event.char)
 8 
 9 frame = Frame(root,width=200,height=200)
10 #Key为键盘事件
11 frame.bind("<Key>",callback)#按键按下时,调用callback方法
12 frame.focus_set()#获得焦点
13 frame.pack()
14 
15 mainloop()

标签:074,Python,GUI,event,callback,按下,按键,root,frame
From: https://www.cnblogs.com/ybqjymy/p/17651444.html

相关文章

  • Python基础入门学习笔记 075 GUI的终极选择:Tkinter12
    Message组件Message(消息)组件是Label组件的变体,用于显示多行文本信息。Message组件能够自动换行,并调整文本的尺寸使其适应给定得尺寸。实例1:1fromtkinterimport*23root=Tk()4w1=Message(root,text="这是一则消息",width=100)5w1.pack()6w2=Message(root,......
  • Python基础入门学习笔记 071 GUI的终极选择:Tkinter8
    Canvas(画布)组件一个可以让你随心所欲绘制界面的组件。通常用于显示和编辑图形,可以用它来绘制直线、图形、多边形,甚至是绘制其他组件。实例1:1fromtkinterimport*2root=Tk()3#创建canvas对象框,设置其宽度、高度与背景色4w=Canvas(root,width=200,height=100,b......
  • Python基础入门学习笔记 073 GUI的终极选择:Tkinter10
    Munu组件Tkinter提供了一个Menu组件,用于实现顶级菜单、下拉菜单和弹出菜单。实例1:创建一个顶级菜单(或称窗口主菜单)1fromtkinterimport*23defcallback():4print("被调用了")56root=Tk()789menubar=Menu(root)#创建一个顶级菜单10m......
  • 发送到Teams的python程序处理,其中也保括上传到OSS的文件处理
    1importurllib2importtime3importoss24importos5importrandom6frompathlibimportPath7importrequests8importdatetime9fromdecoupleimportconfig1011fromurllib.parseimportunquote121314#......
  • Python+百度OCR进行图像识别
    说实在的Pyhon在数据处理方面确实很牛。尤其是大数据的今天,我们和形形色色的数据形影不离。本文给大家介绍下利用百度OCR进行文字识别。实验环境Python(3.9.12)KaliLinux百度OCR申请百度OCR访问百度智能云,开通API网址:https://cloud.baidu.com/campaign/OCR202203/index.html可以......
  • 一个查询数据库并解析其中的json格式的数据,并处理后保存到另外的表的python程序
    1importjson2importpymysql3importdatetime4fromdecimalimportDecimal5fromdecoupleimportconfig678#获取每日汇率的方法9defget_currency_rate(code):10currency_db_host=config("CURRENCY_DB_HOST")11curre......
  • python-上下文管理器Context
    1.什么是上下文管理器?上下文管理器是一个对象,他定义了执行with语句时要建立的上下文,上下文管理器处理进去和退出所需运行时上下文执行代码块。简单来说一个上下文管理器至少包含__enter__和__exit__两个方法,python提供了contextlib模块中的contextmanager用作装饰器并配合迭......
  • python读取shapefile
     #!/usr/bin/envpython#coding:utf-8#AutorGaoSong#读取shp数据importosimporttkinterimporttkinter.messageboximporttkinter.filedialogfromosgeoimportgdalfromosgeoimportosrfromosgeoimportogrfromosgeoimportgdalconstclassARCVIE......
  • python获取网络时间和本地时间
    今天我们来看一下如何用python获取网络时间和本地时间,直接上代码吧,代码中都有注释。python获取网络时间1234567891011121314151617181920212223242526272829获取网络时间def getBeijinTime():"""获取北京时间"""try:conn= httplib.HTTPConnection("www.beijing-time.org")co......
  • Unity UGUI的Image(图片)组件的介绍及使用
    UGUI的Image(图片)组件的介绍及使用1.什么是UGUI的Image(图片)组件?UGUI的Image(图片)组件是Unity引擎中的一种UI组件,用于显示2D图像。它提供了一种简单而灵活的方式来在游戏中加载和显示图片。2.为什么要使用UGUI的Image(图片)组件?使用UGUI的Image组件可以方便地在游戏中展示各种图......