私は絶えず私はTkinterのを介して実行したいと思い私は、テキストベースのアプリケーションのためのTkinterの出力ウィンドウを作成しようとしてい
テキストと出力テキスト(そのテキストベースのゲーム)を取り込んでスクリプトを持っていますGUIコンソールに反対
Python : Converting CLI to GUI
としてこの質問は完全にGUIのINSERT INTO「印刷」を変換する方法を答えます。
問題は私のゲームが明白に大量のループを通り抜けていて、決して実行されない(GUIが表示されない)か、最初に実行するので、 "app.mainloop()それは他の何かを実行させません。
私はこれらのループをどうにかしようとすることができますが、それは非常にハックされているようです。 app.mainloop()内で実行するように私のコードベース全体を修正しようとすることもできますが、本当に必要と思うのは複数のスレッドです。問題は、私はその仕事をどうやって作るのか分かりません。
は、いくつかの他の質問がありますが、それらのいずれかが動作しないか、あまり意味がありません。 Tkinter with multiple threads
Run process with realtime output to a Tkinter GUI
感謝。
編集:非常に単純化されたコード:
def moveNorth():
print('You have moved north')
def interpreter(command):
if command == 'go north':
moveNorth()
else:
print('invalid command')
def listener():
playerchoice = sys.stdin.readline().strip()
return playerchoice
if __name__ == '__main__':
print('Welcome')
while playing:
interpreter(listener())
whileループは、while bad_answer:ask_question()を意味しますか? – Nelson
ええ、主なものは私の通訳です。基本的には、常にプレーヤーの入力を待ち受け、それに基づいて行動します。私はそれについて考えるので、唯一の無限のものとして問題を引き起こす唯一のループかもしれません。私のコードはかなり長いですが、可能なので何かを忘れています。 –
あなたのコードの一部、または少なくとも[最小、完全、かつ確認可能な例](https://stackoverflow.com/help/mcve)を投稿してください。バグをそのまま維持しながらできるだけ多くのコードを削除してください。 – Nelson