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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Python中保留退格键时删除多个字符相关的知识,希望对你有一定的参考价值。

我正在研究一个项目,我在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)

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

答案

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

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

以上是关于在Python中保留退格键时删除多个字符的主要内容,如果未能解决你的问题,请参考以下文章

如何连续删除键盘退格键上的字符长按android

如何将加速键赋予键盘退格键

MS Access:需要按两次退格键才能删除从 Excel 复制过来的一个字符

Linux下,编译文本时,输入内容后,无法使用退格键删除,退格键成了方向键,

如何使用jQuery捕获退格键? [复制]

解决vi编辑器不能使用方向键和退格键问题