在Python中保留退格键时删除多个字符

问题描述 投票:2回答:1

我正在研究一个项目,我在Python中找到了一个文本框的代码:How to create a text input box with pygame?

现在,我想更改代码,以便在用户保留退格时,文本框将删除字符。

我试图将代码更改为:

if event.type == pg.KEYDOWN:
    if self.active:
        if event.key == pg.K_RETURN:
            self.text = ''
        if event.key == pg.K_BACKSPACE:
            while pg.KEYDOWN is pg.K_BACKSPACE:
                print "shock"
                self.text = self.text[:-1]
        else:
            self.text += event.unicode
        # Re-render the text.
        self.txt_surface = FONT.render(self.text, True, self.color)

但它不起作用,我在网上找不到任何解决方案。

python pygame
1个回答
2
投票

您可以启用keyboard repeat,因此按住某个键将生成多个按键事件。

因此,在pg.key.set_repeat(500, 200)之后调用pg.init(),在初始延迟半秒后每200毫秒产生一个退格键按下事件。

© www.soinside.com 2019 - 2024. All rights reserved.