2017-07-10 49 views
0

私はいくつかの質問があります 1)Entryウィジェットを数値入力のみに制限しようとしています。私はスタックのオーバーフローでいくつかのサンプルを見てきましたが、彼らはクラスベースのTkinterコーディングを使用する傾向があり、私はそれを通常のスタイルでやっています。エントリーウィジェットTkinterの数値入力の確認

E=Entry(t3, bg='gray', textvariable=weekly_savings[num], validate='focus', validatecommand=MoneyValidation)) 
I am not sure how to implement this money validation. The window code is as follows 
t3=Toplevel(root) 
bg='gold' 
t3.title(u"\u092c\u0939\u0940 \u0916\u0924\u093e") 
t3.geometry('800x450+100+50') 
t3.transient(root) 
t3.configure(background=bg) 
t3.overrideredirect(True) 

第二に、私は、最終的なユースケースのための半識字人口で働いていると我々は唯一の会計士のキーボードを使用したいと思います。 フォーカスシフトをnum lockキーにバインドしたいと思います。それ、どうやったら出来るの?

+0

を - 入力時に数字が入力に追加されない? – Nelson

答えて

0

あなたの目標は数字のみがエントリウィジェットに表示されるようにできるようにする場合は、this answerでブライアンオークリーにより具体的な方法を使用することができます:「数値入力に制限のみ」あなたはすべての非意味ですかでは

def MoneyValidation(S): 
    if S in ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']: 
     return True 
    t3.bell() # .bell() plays that ding sound telling you there was invalid input 
    return False 

vcmd = (t3.register(MoneyValidation), '%S') 
E = Entry(t3, bg='gray', validate='key', vcmd=vcmd) 
E.pack() 
関連する問題