pygame 自己动手实现文本框的程序

pygame 实现文本框的程序

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加

提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

pygame是python的一个图形库,它的很多操作,基本上都是画图操作。对于文本的支持比较少。wxpython对于窗口界面很好实现,但是对于画图的支持又不是那么给力。
今天我们就 自己来用pygame自己做一个文本框。
目标,在窗口里划定一块区域为文本框。有边框,能输入字符。能自动换行,能用“enter”键主动换行。如果字符数较多,文本框会自动扩大。


提示:以下是本篇文章正文内容,下面案例可供参考
程序由两个py文件。第一个,命名为 draw.py。
定义了文本框类 inputBox。
实现 了,对键盘的响应方式。
以及画出 文本框的方式。

import pygame
import os

wenbenkuang_width=200
wenbenkuang_height=100


class InputBox:
    def __init__(self, rect: pygame.Rect = pygame.Rect(100, 100, wenbenkuang_width, wenbenkuang_height)) -> None:
        """
        rect,传入矩形实体,传达输入框的位置和大小
        """
        self.boxBody: pygame.Rect = rect
        self.color_inactive = pygame.Color('lightskyblue3')  # 未被选中的颜色
        self.color_active = pygame.Color('dodgerblue2')  # 被选中的颜色
        self.color = self.color_inactive  # 当前颜色,初始为未激活颜色
        self.active = False
        self.text = ''
        self.done = False
        self.font = pygame.font.Font(None, 32)
        self.cursor=pygame.Rect(self.boxBody.x,self.boxBody.y,1,1)

    def dealEvent(self, event: pygame.event.Event):
        font = pygame.freetype.SysFont('C:/Win
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值