2

ユーザーからテキスト入力を取得して変数に格納する比較的簡単な方法はありますか? たとえば、テキスト入力を介して名前を尋ね、それをラベルに表示します。

pyglet text_input.py の例をチェックアウトしましたが、テキストの表示のみを示しており、フォームから値を取得していません。サンプルコードは非常に役立ちます。ありがとう。

4

2 に答える 2

0

私は pyglet text_input.py の例で遊んでいるだけで、テキストを印刷する方法を見つけました。私が使用したウィジェットに保存されているので:

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

このテキストは、変数に簡単に格納できます。

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

これが少し役立つことを願っています(ただし、答えは1年遅れています:)

于 2014-05-11T21:11:06.547 に答える
0

返信ありがとうございます。その間、このスレッドのことも忘れていましたが、使用したコードは次のとおりです。

ここで '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
于 2014-10-09T08:48:25.573 に答える