Pyglet - 文本输入 - 如何将它的值赋给变量?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pyglet - 文本输入 - 如何将它的值赋给变量?相关的知识,希望对你有一定的参考价值。

是否有一种相对简单的方法从用户获取文本输入并将其存储在变量中?例如,通过textinput请求名称并将其显示在标签上。

我检查了pyglet text_input.py示例,但它只演示了文本的显示,它没有从表单中获取值。任何示例代码都会有很大帮助。谢谢。

答案

我只是自己玩pyglet text_input.py示例,我发现了如何打印文本。因为它存储在我使用的小部件中:

print(self.widgets[0].document.text)

然后可以将此文本轻松存储在变量中:

my_text = self.widgets[0].document.text
print(my_text)

希望这对你有所帮助(虽然答案是晚了一年:)

另一答案

感谢您的回复,我在此期间发现,也忘了这个帖子,但这里是我用过的代码。

按“t”键开始输入输入。然后标签会在每次按键时更新。 Backspace通过删除最后一个字符来完成它的工作,并且Enter存储该值。

class Typein(object):
    text =''
    firstt = True       # this serves to avoid the first 't' used to activate the typing, 
                        # not to get stored as first character of the text.
    @staticmethod
    def on_text(text):
        if Typein.firstt == True and Typein.text == 't':
            Typein.text = ''
            Typein.firstt = False
        Typein.text += text
        if Typein.firstt != True: 
            Labels.playername_label.text = Typein.text
        Control.CurrentPlayer.name = Typein.text
    @staticmethod
    def on_key_press(symbol,modifiers):
        if symbol == key.ENTER:
            Labels.playername_label.text = Typein.text
            Typein.text =''
            GAME_WINDOW.pop_handlers()
            Control.handleraltered = False
        elif symbol == key.BACKSPACE:
            Typein.text = Typein.text[:-1]
            Labels.playername_label.text = Typein.text
        elif symbol:
            return True

以上是关于Pyglet - 文本输入 - 如何将它的值赋给变量?的主要内容,如果未能解决你的问题,请参考以下文章

Pyglet - 文本输入 - 如何获取变量的值?

我建立了一个datatable,,想把它的值赋给一个List,怎么办?

c语言中能把一个二维数组的值赋给一个一维数组吗

C语言中如何将结构体中的值赋给BYTE类型的缓存?

sql server 2000 如何把select的值赋给一个变量

VC中如何将一个二维数组的值赋给另一个二维数组?只能用一行。