2017-08-04 174 views
-1
AANTAL = [(1,"1"),(2,"2"),(3,"3"),(4,"4"),(5,"5"),(6,"6"),] 
v= StringVar() 
v.set("1") 

for text, mode in AANTAL: 
but = Radiobutton(Main,padx=20, pady=10,font=('arial', 20, "bold"), bd=4, 
text=text, variable=v, value=mode, indicatoron=0) 
but.grid()  

上面的代碼顯示了一些編號爲1到6的單選按鈕。但是,它將它們垂直顯示而不是水平顯示。有誰知道我該如何解決這個問題?如何在python中水平放置單選按鈕

我已經嘗試將row=0放在網格命令中,但這隻能將按鈕疊放在一起,而不是將它們排列在一行之外。

+0

在問這樣一個基本問題之前,您應該閱讀'grid'命令的文檔。 'grid'有可讓您指定特定行和特定列的選項。 –

回答

0

grid有兩種放置小部件的選項。 rowcolumn。你需要指定兩者。

buttons = [] 
vars = [] 
for idx, (text, mode) in enumerate(AANTAL): 
    vars.append(StringVar(value="1")) 
    buttons.append(Radiobutton(Main,padx=20, pady=10,font=('arial', 20, "bold"), bd=4, text=text, variable=vars[-1], value=mode, indicatoron=0)) 
    buttons[-1].grid(row=0, column=idx) 

另外,使用循環創建小部件時,最好將它們存儲在列表中,因爲稍後可以在程序中訪問它們。