Pygame编程(4)event模块
Pygame编程(4)event模块
- 函数
- 示例
函数
- pygame.event.pump
让 Pygame 内部自动处理事件 - pygame.event.get
从队列中获取事件 - pygame.event.poll
从队列中获取一个事件 - pygame.event.wait
等待并从队列中获取一个事件 - pygame.event.peek
检测某类型事件是否在队列中 - pygame.event.clear
从队列中删除所有的事件 - pygame.event.event_name
通过 id 获得该事件的字符串名字 - pygame.event.set_blocked
控制哪些事件禁止进入队列 - pygame.event.get_blocked
检测某一类型的事件是否被禁止进入队列 - pygame.event.set_allowed
控制哪些事件允许进入队列 - pygame.event.set_grab
控制输入设备与其他应用程序的共享 - pygame.event.get_grab
检测程序是否共享输入设备 - pygame.event.set_keyboard_grab
控制键盘设备与其他应用程序的共享 - pygame.event.get_keyboard_grab
检测键盘设备是否与其他应用程序的共享 - pygame.event.post
放置一个新的事件到队列中 - pygame.event.custom_type
自定义用户事件类型 - pygame.event.Event
创建一个新的事件对象
示例
import sys
import pygame
from pygame import *pygame.init()pygame.display.set_mode((800, 480), flags=RESIZABLE)while True:for event in pygame.event.get():print(event)if event.type == QUIT:pygame.quit()sys.exit()# 键盘事件if event.type == KEYDOWN:print('Event:KEYDOWN')if event.key == K_LEFT:print('K_LEFT DOWN')if event.type == KEYUP:print('Event:KEYUP')if event.key == K_LEFT:print('K_LEFT UP')if event.type == KEYMAPCHANGED:print('Event:KEYMAPCHANGED')# 鼠标事件if event.type == MOUSEBUTTONDOWN:print('Event:MOUSEBUTTONDOWN')if event.button == 1:print('鼠标左键')if event.button == 2:print('鼠标滚轮')if event.button == 3:print('鼠标右键')if event.type == MOUSEBUTTONUP:print('Event:MOUSEBUTTONUP')if event.type == MOUSEWHEEL:print('Event:MOSUEWHEEL')if event.type == MOUSEMOTION:print('Event:MOUSEMOTION')#<Event(1024-MouseMotion {'pos': (524, 423), 'rel': (5, 15), 'buttons': (0, 0, 0), 'touch': False, 'window': None})>mouse_x, mouse_y = event.posrel_x, rel_y = event.relbtns = event.buttonsevent.touchprint(mouse_x, mouse_y)# 键盘输入事件if event.type == TEXTEDITING:print('Event:TEXTEDITING')# <Event(770-TextEditing {'text': 'abcdkfa', 'start': 7, 'length': 0, 'window': None})>print(event.text)print(event.start)print(event.length)if event.type == TEXTINPUT:print('Event:TEXTINPUT')# <Event(771-TextInput {'text': 'abcdkfa', 'window': None})>print(event.text)# 游戏杆事件if event.type == JOYBUTTONDOWN:print('Event:JOYBUTTONDOWN')if event.type == JOYBUTTONUP:print('Event:JOYBUTTONUP')if event.type == JOYHATMOTION:print('Event:JOYHATMOTION')if event.type == JOYAXISMOTION:print('Event:JOYAXISMOTION')if event.type == JOYBALLMOTION:print('Event:JOYBALLMOTION')if event.type == JOYDEVICEADDED:print('Event:JOYDEVICEADDED')if event.type == JOYDEVICEREMOVED:print('Event:JOYDEVICEREMOVED')# 窗口事件if event.type == WINDOWENTER:print('Event:WINDOWENTER')if event.type == WINDOWCLOSE:print('Event:WINDOWCLOSE')if event.type == WINDOWSHOWN:print('Event:WINDOWSHOW')if event.type == WINDOWHIDDEN:print('Event:WINDOWHIDDEN')if event.type == WINDOWMINIMIZED:print('Eevent:WINDOWMINNMIZED')if event.type == WINDOWMAXIMIZED:print('Event:WINDOWMAXIMIZED')if event.type == WINDOWMOVED:print('Event:WINDOWMOVED')if event.type == WINDOWRESIZED:print('Event:WINDOWRESIZED')if event.type == WINDOWSIZECHANGED:print('Event:WINDOWSIZECHANGED')if event.type == WINDOWENTER:print('Event:鼠标移入窗口')if event.type == WINDOWLEAVE:print('Event:鼠标移出窗口')if event.type == WINDOWFOCUSGAINED:print('Evvent:窗口获取焦点')if event.type == WINDOWFOCUSLOST:print('Event:窗口失去焦点')if event.type == WINDOWDISPLAYCHANGED:print('Event:WINDOWDISPLAYCHANGED')
相关文章:
Pygame编程(4)event模块
Pygame编程(4)event模块 函数示例 函数 pygame.event.pump 让 Pygame 内部自动处理事件pygame.event.get 从队列中获取事件pygame.event.poll 从队列中获取一个事件pygame.event.wait 等待并从队列中获取一个事件pygame.event.peek 检测某类型事件是否在…...
Python数据采集实战-使用BeautifulSoup框架解析HTML文档并提取所需内容(附源码和实现效果)
实现功能 使用BeautifulSoup框架解析HTML文档并提取所需内容的例子:假设我们要从以下HTML文档中提取所有超链接的链接地址 实现代码 from bs4 import BeautifulSoup import requests# 发送请求并获取HTML文档 url "https://www.baidu.com" response r…...
Java“牵手”天猫商品列表数据,关键词搜索天猫商品数据接口,天猫API申请指南
天猫商城是一个网上购物平台,售卖各类商品,包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取天猫商品列表和商品详情页面数据,您可以通过开放平台的接口或者直接访问天猫商城的网页来获取商品详情信息。以下是两种常用方法的介绍&…...
idea切换Git分支时保存未提交的文件
解决方案 我们现在有三个分支,如下图: 我们目前在tenant分支上进行开发,需要去修复master的Bug,假设我们在tenant分支上修改了一个文件,如下图: 方法一:使用Shelve Changes 1、选中tenant上你不…...
Qt串口通信学习文档
这是官方文档,我也在学习。 QSerialPort Class | Qt Serial Port 5.15.14https://doc.qt.io/qt-5/qserialport.html...
018-时间处理库,预处理
018-时间处理库,预处理 ⼀、C语⾔的时间处理库 time.h是C/C++中的⽇期和时间头⽂件,通过他可以获取系统时间及时间格式 转换 time库中常⽤函数介绍 1、函数名称: time 2、函数名称: localtime 3、函数名称: asctime 4、函数名称: ctime 5、函数名称: gmtime 6、函数名…...
Sketch 98 中文版-mac矢量绘图设计
Sketch是一款专为Mac操作系统设计的矢量图形编辑软件,被广泛应用于UI/UX设计、网页设计、移动应用设计等领域。Sketch提供了各种工具和功能,包括绘图、图形设计、排版等,可以帮助设计师轻松地创建高质量的矢量图形和模型。Sketch的主要特点包…...
Springboot继承Keycloak实现单点登陆与退出
由于网上博客大部分都只有登陆没有退出,自己花了一些时间研究了一下,这里将相关内容进行记录,基于Keyclaok 20的版本,实现springboot服务单点登录与退出 一、依赖 <!-- 在父工程中 --> <dependencyManagement><d…...
天眼查接口 查询企业信息API 企查查接口
item_get-获得tyc详情 tyc.item_get 公共参数 请求地址: https://api-gw.cn/tyc/item_get 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中࿰…...
Linux 网络编程 和 字节序的概念
网络编程概述 不同于之前学习的所有通讯方法,多基于Linux内核实现,只能在同一个系统中不同进程或线程间通讯,Linux的网络编程可以实现真正的多机通讯! 两个不相关的终端要实现通讯,必须依赖网络,通过地址…...
unet pytorch
1.单机多卡版本:代码中的DistributedDataParallel (DDP) 部分对应单机多卡的分布式训练方式 import torch import torch.nn as nn import torch.optim as optim import torch.nn.functional as F from torch.utils.data import Dataset, DataLoader from torchvisi…...
前置微小信号放大器的作用是什么
前置微小信号放大器是一种电子设备,用于将弱信号放大到足够的水平以供后续处理。它在许多领域都有广泛的应用,如通信系统、无线电接收机、传感器接口等。 前置微小信号放大器的主要作用是增加信号的强度。当我们处理微弱信号时,如果不进行放大…...
一百六十五、Kettle——用海豚调度器调度Linux资源库中的kettle任务脚本(亲测、附流程截图)
一、目的 在Linux上脚本运行kettle的转换任务、无论是Linux本地还是Linux资源库都成功后,接下来就是用海豚调度Linux上kettle任务 尤其是团队开发中,基本都要使用共享资源库,所以我直接使用海豚调度Linux资源库的kettle任务脚本 二、前提条…...
xfs ext4 结合lvm 扩容、缩容 —— 筑梦之路
ext4 文件系统扩容、缩容操作 扩容系统根分区 根文件系统在 /dev/VolGroup/lv_root 逻辑卷上,文件系统类型为ext4,大小为10G,现在要将其扩容成20G。 给空闲空间分区# 调整分区类型为LVM,也就是8e类型 fdisk /dev/sdb# 选定分区后使…...
如何修改由 img 标签引入的 svg 图片颜色 (react环境)
网上试了好几个方法都不行,问了一下身边同事的处理方法,终于搞定了。话不多说,直接上代码: 此处是 jsx 中的图标引入 <img className{STYLE.contactIcon}onClick{() > {你的一些操作}} style{{WebkitMaskImage: url(${ite…...
归一化的作用,sklearn 安装
目录 归一化的作用: 应用场景说明 sklearn 准备工作 sklearn 安装 sklearn 上手 线性回归实战 归一化的作用: 归一化后加快了梯度下降求最优解的速度; 归一化有可能提高精度(如KNN) 应用场景说明 1)概率模型不需要归一化ÿ…...
半导体企业如何进行跨网数据传输,又能保护核心数据安全?
为了保护设计文档、代码文件等内部核心数据,集成电路半导体企业一般会将内部隔离成多个网络,比如研发网、办公网、生产网、测试网等。常规采取的网络隔离手段如下: 1、云桌面隔离:一方面实现数据不落地,终端数据安全有…...
lvs-DR模式:
lvs-DR数据包流向分析 客户端发送请求到 Director Server(负载均衡器),请求的数据报文(源 IP 是 CIP,目标 IP 是 VIP)到达内核空间。 Director Server 和 Real Server 在同一个网络中,数据通过二层数据链路…...
Delphi 开发手持机(android)打印机通用开发流程(举一反三)
目录 一、场景说明 二、厂家应提供的SDK文件 三、操作步骤: 1. 导出Delphi需要且能使用的接口文件: 2. 创建FMX Delphi项目,将上一步生成的接口文件(V510.Interfaces.pas)引入: 3. 将jarsdk.jar 包加入到 libs中…...
nodejs替换模版中${}的内容
要在js中想要替换替换模板中的${},可以使用字符串的replace()方法结合正则表达式或者函数来实现替换操作。 以下是两种常见的替换方式: 使用正则表达式: 方法一: const template "Hello, ${name}! Today is ${day}."…...
YOLOv11厨房食材目标检测数据集-2499张-Meat-1_5
YOLOv11厨房食材目标检测数据集 📊 数据集基本信息 目标类别: [‘ayam’, ‘beef’, ‘pork’]中文类别:[‘鸡肉’, ‘牛肉’, ‘猪肉’]训练集:2256 张验证集:164 张测试集:79 张总计:2499 张 …...
CANopen调试实战:当SDO读写失败时,如何像老司机一样快速读懂Abort报文里的错误码?
CANopen调试实战:SDO读写失败时快速解析Abort报文错误码 调试CANopen设备时,SDO通信失败是最常见的痛点之一。当设备返回Abort报文,屏幕上那一串十六进制代码往往让工程师陷入迷茫——是对象字典配置错误?还是网络通信问题&#…...
喜马拉雅音频下载终极指南:免费解锁付费内容的桌面神器
喜马拉雅音频下载终极指南:免费解锁付费内容的桌面神器 【免费下载链接】xmly-downloader-qt5 喜马拉雅FM专辑下载器. 支持VIP与付费专辑. 使用GoQt5编写(Not Qt Binding). 项目地址: https://gitcode.com/gh_mirrors/xm/xmly-downloader-qt5 你是否曾因网络…...
STM32MP25x嵌入式Linux平台:集成XFCE、VNC、TSN的工业边缘计算解决方案
1. 项目概述:一个面向工业边缘的“瑞士军刀”级嵌入式平台最近,我们团队基于STM32MP25x系列核心板,成功构建并发布了一套完整的Debian系统镜像。这个项目的目标非常明确:打造一个开箱即用、功能全面、且能无缝覆盖从传统工业控制到…...
基于VSCode Remote-SSH的嵌入式Linux开发环境配置与实战
1. 嵌入式开发流程的痛点与优化思路 作为一名在嵌入式行业摸爬滚打了十多年的老工程师,我太清楚传统开发流程里那些让人头疼的环节了。我们最熟悉的模式,就是在PC上写好代码,用交叉编译工具链生成目标板(比如ARM架构的开发板&…...
3大AI创作效率瓶颈的模块化解法:ComfyUI企业级工作流自动化实践
3大AI创作效率瓶颈的模块化解法:ComfyUI企业级工作流自动化实践 【免费下载链接】ComfyUI The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface. 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI …...
紫光展锐虎贲T618核心板硬件设计实战解析:从架构到量产
1. 从一颗芯片到一块核心板:T618的硬件设计哲学在智能硬件开发领域,选型一颗合适的处理器平台,往往是项目成败的起点。紫光展锐的虎贲T618,作为一款定位中高端的移动平台SoC,近年来在平板、智能POS、工业手持终端乃至一…...
帮孩子建立时间观念:从认识“十分钟有多长”开始
很多家长都遇到过这样的困扰:让孩子“再玩十分钟就吃饭”,结果十分钟后他完全没反应,不是故意拖延,而是他真的不知道十分钟有多长。时间对孩子来说是抽象的,看不见摸不着。要帮孩子建立时间观念,不妨从感受…...
如何快速搞定GTNH中文汉化:新手友好的终极指南
如何快速搞定GTNH中文汉化:新手友好的终极指南 【免费下载链接】Translation-of-GTNH GTNH整合包的汉化 项目地址: https://gitcode.com/gh_mirrors/tr/Translation-of-GTNH 还在为GTNH(GregTech: New Horizons)这个顶级整合包的全英文…...
从USB2.0到USB3.0:硬件工程师必须知道的电源管理与布线升级要点(含电平转换案例)
从USB2.0到USB3.0:硬件工程师必须掌握的电源管理与布线升级实战指南 在硬件设计领域,接口技术的迭代往往带来性能的飞跃,但同时也伴随着设计复杂度的显著提升。USB3.0作为当前主流的高速接口标准,其传输速率相比USB2.0提升了近10倍…...
