在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中保留退格键时删除多个字符的主要内容,如果未能解决你的问题,请参考以下文章
MS Access:需要按两次退格键才能删除从 Excel 复制过来的一个字符