0

IDLE のコマンド ラインのテキスト入力からグラフィックスを更新できるようにするにはどうすればよいですか? 次のようなものがある場合:

from Tkinter import *

root = Tk()
can = Canvas(root, height=500, width=100)
can.pack()
mainloop()

x = input("what is a number? ")
print x

ウィンドウは表示されますが、コマンド ラインのプロンプトは表示されません。これをどのように許可できるかについてのアイデアはありますか?

4

2 に答える 2

0

tkinter のウィジェットを使用することをお勧めします。

import Tkinter as tk

def numEntered(*args):
    print x.get()
    x.set('')
    return

root = tk.Tk()
can = tk.Canvas(root, height=500, width=100)
can.pack()

inputFrame=tk.LabelFrame(root, text="What is a number?")
inputFrame.pack()

x=tk.StringVar()
inputEntry=tk.Entry(inputFrame,textvariable=x)
inputEntry.pack()

inputEntry.bind('<Return>',numEntered)

tk.mainloop()

いくつかの項目に注意してください: 1) パック ジオメトリ マネージャーを使用しているときに役立つラベル フレームにテキスト エントリを配置しました。2) bind メソッドを使用して、ユーザーが数字を入力してエンター (リターン) キーを押したときに関数を実行しました。3) 関数は数値を出力し、変数をクリアします。

これが役立つことを願っています!

于 2012-04-28T16:25:47.793 に答える
0

デバッグまたはワンショット構成/入力のためだけの場合は、コマンドラインパラメーターとしてプログラムに渡すか、プロンプトコードを mainloop() 呼び出しの前の任意の場所に配置できます。一方、ゲームへの継続的な入力である場合は、テキスト入力フィールドとおそらくボタンをメイン フォームに追加して、ユーザーがデータを入力し、ボタンを押して入力が完了したことを示し、イベント ハンドラーを使用できるようにする必要があります。ボタンに結び付けられ、入力フィールドの内容を処理します。

上記のどれもあまり意味がない場合は、サイトTkDocsを参照してください。Tk に関する多くの有用な情報があり、Python ですべての呼び出しを行う方法のコード サンプル (他の言語の中でも) が含まれています。

于 2012-04-27T21:15:20.970 に答える