2015-08-21 34 views
3

當您使用from_to選項時,我已經閱讀了一個很好的解決方案,用於在Tkinter Spinbox小部件上建立默認數值。但是我還沒有看到一個可以幫助從元組中創建一個值(數字或字符串)的單個函數。如何在Tkinter Spinbox上建立默認字符串值?

我的代碼如下,旨在從一個元組坐落在一個Tkinter的紡紗器控件的默認值:

from Tkinter import * 

root = Tk() 
root.geometry('200x200+50+50') 
root.title('Prueba') 

t = ('One', 'Two', 'Three', 'Four', 'Five') 
v = t[3] 

var = StringVar() 
var.set(v) 
sb = Spinbox(root, values=t, textvariable=var, width=10) 
sb.place(x=5, y=15) 

root.mainloop() 

,我曾嘗試另一個變體爲以下幾點:

from Tkinter import * 

root = Tk() 
root.geometry('200x200+50+50') 
root.title('Prueba') 

var = StringVar() 
var.set('Four') 
sb = Spinbox(root, ('One', 'Two', 'Three', 'Four', 'Five'), textvariable=var, width=10) 
sb.place(x=5, y=15) 

root.mainloop() 

設置方法在Spinbox上的唯一方式(以及我從這裏獲取的)是以下內容,僅適用於在Spinbox小部件中作爲選項設置的數字和範圍內:

from Tkinter import * 

root = Tk() 
root.geometry('200x200+50+50') 
root.title('Prueba') 

var = StringVar() 
var.set(4) 
sb = Spinbox(root, from_=1, to=5, textvariable=var, width=10) 
sb.place(x=5, y=15) 

root.mainloop() 

可以請任何人幫我找出如何從Tuple中建立一個Tkinter Spinbox的默認值?我會很感激!

回答

3

如果您在創建窗口小部件後將行var.set(v)設置爲,則會設置默認值。

var = StringVar() 
sb = Spinbox(root, values=t, textvariable=var, width=10) 
var.set(v) 
+0

我該怎麼給你買啤酒,布賴恩!非常感謝! ;) –

+0

嗨@EnriqueBoeneker!大約一年前,你的問題得到了有用的答案。請將答案標記爲「已接受」!它將您的問題從「未答覆」列表中刪除,併爲幫助您的人提供了一些額外的代表。祝你有個美好的一天:) – bitsmack

+0

@bitsmack:恩裏克近一年沒有回到這個網站。他可能永遠不會看到你的評論。 –