2017-08-15 5 views
0

Tkinterの新機能ですが、後で変数として保存するために、すべてのエントリコマンドにどのように入力したのですか?ここにエントリが存在する私のコードです。このプログラムは進行状況を追跡し、浮動小数点ではなく整数で処理するように設計されています。ありがとうPython Tkinter後で変数を格納するエントリ

それは、後で他のコンポーネントのために使用するために保存された変数を使用します。ここで

name = Tk() 
    name.wm_title("Name") 

    Label(name, text="      First").grid(row=0, column=0) 
    Label(name, text="      Last").grid(row=0, column=2) 
    Label(name, text="    Starting height").grid(row=1, column=0) 
    Label(name, text="     Now height").grid(row=1, column=2) 
    Label(name, text="    Starting Age").grid(row=2, column=0) 
    Label(name, text="      Now Age").grid(row=2, column=2) 
    Label(name, text="  Starting Bench Press").grid(row=3, column=0) 
    Label(name, text=" Personal best Bench press").grid(row=3, column=2) 
    Label(name, text="  Starting Weighted Squat").grid(row=4, column=0) 
    Label(name, text="Personal best weighted squat").grid(row=4, column=2) 
    Label(name, text="   Starting deadlift").grid(row=5, column=0) 
    Label(name, text="  Personal best deadlift").grid(row=5, column=2) 
    Label(name, text="  Starting shoulder press").grid(row=6, column=0) 
    Label(name, text="Personal best shoulder press").grid(row=6, column=2) 
    Label(name, text="   Starting leg press").grid(row=7, column=0) 
    Label(name, text="  Personal best leg press").grid(row=7, column=2) 
    Label(name, text="  Starting lat pulldown").grid(row=8, column=0) 
    Label(name, text=" Personal best lat pulldown").grid(row=8, column=2) 


    first     = Entry(name) 
    last      = Entry(name) 
    starting_height   = Entry(name) 
    Now_height    = Entry(name) 
    Start_age    = Entry(name) 
    Now_age     = Entry(name) 
    Start_Bench_Press  = Entry(name) 
    Heaviest_Bench_Press  = Entry(name) 
    Start_Weight_Squat  = Entry(name) 
    Heaviest_Weight_Squat = Entry(name) 
    Start_deadlift   = Entry(name) 
    Heaviest_deadlift  = Entry(name) 
    Start_Shoulder_Press  = Entry(name) 
    Heaviest_Shoulder_Press = Entry(name) 
    Start_Leg_Press   = Entry(name) 
    Heaviest_Leg_Press  = Entry(name) 
    Start_Lat_Pulldown  = Entry(name) 
    Heaviest_Lat_Pulldown = Entry(name) 

    first.grid     (row=0, column=1) 
    last.grid     (row=0, column=3) 
    Starting_height.grid   (row=1, column=1) 
    Now_height.grid    (row=1, column=3) 
    Start_age.grid    (row=2, column=1) 
    Now_age.grid     (row=2, column=3) 
    Start_Bench_Press.grid  (row=3, column=1) 
    Heaviest_Bench_Press.grid (row=3, column=3) 
    Start_Weight_Squat.grid  (row=4, column=1) 
    Heaviest_Weight_Squat.grid (row=4, column=3) 
    Start_deadlift.grid   (row=5, column=1) 
    Heaviest_deadlift.grid  (row=5, column=3) 
    Start_Shoulder_Press.grid (row=6, column=1) 
    Heaviest_Shoulder_Press.grid (row=6, column=3) 
    Start_Leg_Press.grid   (row=7, column=1) 
    Heaviest_Leg_Press.grid  (row=7, column=3) 
    Start_Lat_Pulldown.grid  (row=8, column=1) 
    Heaviest_Lat_Pulldown.grid (row=8, column=3) 


    Button(name, text='Quit', command=name.destroy).grid(row=10, column=0, sticky=W, pady=4) 

    name.mainloop() 
+0

コードを実行可能にするためにインポートステートメントを含めることを忘れないでください。 'tkinter'は特に明記していないと、あなたが使っているPythonのバージョンを示すので、特に重要です。 –

答えて

0

Entryウィジェットから値を保存するためにIntVarを使用した例です。

from tkinter import * 
from tkinter import messagebox 

name = Tk() 
name.wm_title("Name") 

Label(name, text="sFirst").grid(row=0, column=0) 

firstsv = IntVar() 
first = Entry(name, textvariable=firstsv) 

first.grid(row=0, column=1) 

b1 = Button(name, text='Show', command=lambda: messagebox.showinfo("hi", firstsv.get())) 
b1.grid(row=1, column=0, sticky=W, pady=4) 

name.mainloop() 

# use after loop 
print('firstsv = %d' % firstsv.get()) 

これはpython 3コードです。 Python 2を使用している場合(多くの初心者がまだやっているようです)、コードを変換するための練習として残ります。

+0

こんにちは、質問を閉じるために、私は変数の代わりに整数が必要です。私はまた、プログラムの中でループの外で変数を呼び出すことができる必要があります。ご協力いただきありがとうございます。 –

+0

'StringVar'の代わりに' IntVar'を使うように更新し、ループが終了した後でも変数は有効なままです。 'get'メソッドの結果を、通常の整数として取得することができます。 –

関連する問題