2017-07-17 102 views
0

所以我在玩RadioButtons,並且明白我需要做的就是使用一個不同的變量以便有單獨的RadioButton組。顯然你不需要像在許多GUI系統中那樣使用單獨的容器控件。Tkinter RadioButton糾纏

我試過了,發現兩個團體都糾結了。所以我把它們固定在單獨的容器上;一個在畫布上,另一個在畫框上。他們仍然糾結!

下面的代碼:

# Radiobuttons on a Canvas 
rvCanvas=tk.Canvas(root) 
radioVariable=1 
tk.Radiobutton(rvCanvas, text="Set to one", variable=radioVariable, value=1).pack() 
tk.Radiobutton(rvCanvas, text="Set to two", variable=radioVariable, value=2).pack() 
rvCanvas.place(x=300,y=20) 


# Radiobuttons on a Frame 
noincFrame=tk.Frame(root) 
noInd=1 
tk.Radiobutton(noincFrame, text="This one", variable=noInd, value=1).pack() 
tk.Radiobutton(noincFrame, text="That too", variable=noInd, value=2).pack() 
noincFrame.place(x=5,y=160) 

那麼,我們如何實現解纏結的單選按鈕?

+0

問題是你需要tkinter變量而不是普通的python變量。將'radioVariable = 1'改爲'radioVariable = tk.IntVar()',對於其他變量也是如此,那麼你可以通過'radioVariable.get()'獲得ref的值:http://effbot.org/tkinterbook /variable.htm –

回答

1

變量必須是特殊tkinter變量的實例(StringVar,IntVar等)。

radioVariable = tk.IntVar(value=1) 
... 
noInd = tk.IntVar(value=1) 
... 
+0

我錯過了要求Tk變量的一點。謝謝大家。 –