2016-12-23 13 views
1

私はTkinterで作業していましたが、spinboxに問題があります。私はspinboxfrom_=1, to=5に設定しました。私が何をするかを教えてくださいspinboxは変数として5を出力します。私は関連する質問のための他の答えについてここにたくさんの投稿を読んだが、答えを見つけることはできないようだ。スピンボックスの出力値

マウスをクリックし、spinboxの値を選択すると何も起こりません。ここで

はコードです:

sp1=Spinbox(root, bd=3, state='readonly', from_=1, to=5, font="bold", wrap="true") 
sp1.grid(row=3, column=2, padx=20) 
sp1.delete(0, END) 
sp1.bind("<Button-1>") 
i=sp1.get() 

iはあなたがcommand=を使用してSpinboxに機能を割り当てることができ、この機能を使用すると、Spinboxで値を変更するたびに実行されます常に5

+0

を 'L'の値が)あなたは 'に.get(する必要があり、これまでに変更するつもりはありません'値を使用する必要があるときのスライダの値。 (そのために '.get()'と呼ばれます) –

+0

関連:http://stackoverflow.com/questions/37215397/valueerror-cannot-convert-string-from-entry-to-int-even-though-input -is-int/37216659#37216659私はあなたに指摘できる良い例があると確信していますが、 –

+0

あなたはこれ以上のものが欲しいですか? http://pastebin.com/dH37xGmG –

答えて

1

に等しいです。そして、あなたはSpinboxから価値を得ることができます。今すぐ始めには価値があります。

import tkinter as tk 

# --- functions --- 

def callback(): 
    print("value:", w.get()) 

# --- main --- 

root = tk.Tk() 

w = tk.Spinbox(root, state='readonly', from_=1, to=5, command=callback) 
w.pack() 

root.mainloop() 
1

あなたがSpinboxを初期化するときは、command引数にコールバック関数を渡すことができます。

# python 3 
from tkinter import * 
# python 2 
#from Tkinter import * 

root = Tk() 

def on_spinbox_change(): 
    print(sp1.get()) 

sp1 = Spinbox(root, bd=3, state='readonly', from_=1, to=5, font="bold", wrap="true", command=on_spinbox_change) 
sp1.grid(row=3, column=2, padx=20) 

root.mainloop() 
関連する問題