Python案例:按键测试

谁说我不能喝 提交于 2019-11-27 22:59:25
Python案例:按键测试

1、消息类文件message.py
import pygame

class Message:
    def __init__(self, screen, text):
        self.screen = screen
        self.text = text

    def settext(self, text):
        self.text = text

    def gettext(self):
        return self.text

    def blit(self):
        font = pygame.font.SysFont('宋体', 40)
        self.surface = font.render(self.text, True, (0, 0, 255))
        self.rect = self.surface.get_rect()
        self.rect.left = 20
        self.rect.top = 50
        self.screen.blit(self.surface, self.rect)
2、函数文件functions.py
import sys

import pygame

def check_events(message):
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
        elif event.type == pygame.KEYDOWN:
            message.settext('keychar: ' + chr(event.key) + ', keycode: ' + str(event.key))

def update_screen(screen, message):
    screen.fill((230, 230, 230))
    message.blit()
    pygame.display.flip()
3、主程序文件keys_main.py
import pygame
from message import Message
import functions as func

def main():
    pygame.init()
    screen = pygame.display.set_mode((400, 300))
    pygame.display.set_caption("按键测试")

    message = Message(screen, 'Press a key...')

    while True:
        func.check_events(message)
        func.update_screen(screen, message)

main()
运行程序,结果如下:
随意按一个键,比如字母键“w”:
按下回车键,键码是13,对应字符不可见:

按下空格键,其键码是32:

利用该程序,可以获取键盘上任意按键对应的键码。



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!