2016-10-01 4 views
-1

を持っているものを伝えるために - 「」「0〜9」+ Aを。私は、ボタンから生成された数字の組み合わせを一度に1つずつ複数の入力ボックスを更新したいと思っています。私が抱えている問題は、その時点でどのエントリーボックスにフォーカスがあるかを調べる方法を見つけようとしていることです。私はいくつかのグーグルを行い、focus_get()を使用して選択されたエントリボックスに対して異なる番号を印刷することができましたが、その番号は変更されました。最後に、entry_0に似た名前のエントリボックスをクリックして、選択したボックスに整数を渡して別のボックスをクリックして別のボックスを渡すことができるボタンをクリックできるようにしたい整数。どうエントリは、私が数とキーパッドがあるプロジェクトに取り組んでいるフォーカス(Tkinterの)

ベローは、私がグーグルで発見し、私は私がやりたいことができるということがわかってきましたが、数字がプリントは、コードが実行されるたびに異なっていることが最も近いいくつかのコードです。

from Tkinter import * 
root=Tk() 
e1=Entry(root) 
e1.pack() 
e2=Entry(root) 
e2.pack() 
def handleReturn(event): 
    print "return: event.widget is",event.widget 
    print "focus is:",root.focus_get() 

root.bind("<Return>",handleReturn) 

root.mainloop() 
+0

内部ウィジェット名はランダムです。あなたのコードはうまく動作します。 –

+0

'root.focus_get()'と 'event.widget'がEntryオブジェクトを与え、変数(つまり' selected = event.focus_get() ')に割り当てることができ、後でそれを使うことができるので、数字はあなたにとって重要ではありませんテキストを 'selected.insert(END、" Hello World! ")'に変更します。本当に名前が必要な場合は、 'e1.name = 'entry_1''を使い、' selected.name'を使うことができます – furas

答えて

0

ありがとうございます。いくつか微妙な調整をして、私はそれを私が望むように働かせることができました。

from Tkinter import * 

root=Tk() 
e1=Entry(root) 
e1.pack() 
e2=Entry(root) 
e2.pack() 
def handleReturn(event): 
    test = root.focus_get() 
    print test.get() 

root.bind("<Return>",handleReturn) 

root.mainloop() 
関連する問題