Python案例:按键测试

Python案例:按键测试

Python案例:按键测试_第1张图片

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()
运行程序,结果如下:
Python案例:按键测试_第2张图片
随意按一个键,比如字母键“w”:
Python案例:按键测试_第3张图片
按下回车键,键码是13,对应字符不可见:
Python案例:按键测试_第4张图片

按下空格键,其键码是32:
Python案例:按键测试_第5张图片

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



你可能感兴趣的:(Python编程)