1. 程式人生 > >小白學tkinter(單選Radiobutton元件)

小白學tkinter(單選Radiobutton元件)

#Radiobutton為單選按鈕,即在同一組內只能有一個按鈕被選中,每當選中組內的一個按鈕時,其它的按鈕自動改為非選中態,與其他控制元件不同的是:它有組的概念.
'''1.建立一個簡單的Radiobutton'''
from Tkinter import *
root = Tk()
Radiobutton(root,text = 'python').pack()
Radiobutton(root,text = 'tkinter').pack()
Radiobutton(root,text = 'widget').pack()
root.mainloop()
#不指定繫結變數,每個Radiobutton自成一組
'''2.建立一個Radiobutton組,使用繫結變數來設定選中的按鈕''' from Tkinter import * root = Tk() #建立一個Radiobutton組,建立三個Radiobutton,並繫結到整型變數v #選中value=1的按鈕 v = IntVar() v.set(1) for i in range(3): Radiobutton(root,variable = v,text = 'python',value = i).pack() root.mainloop() '''3.建立兩個不同的組''' from Tkinter import * root = Tk() vLang = IntVar() vOS = IntVar() vLang.set(1
) vOS.set(2) for v in [vLang,vOS]: #建立兩個組 for i in range(3): #每個組含有3個按鈕 Radiobutton(root, variable = v, value = i, text = 'python' + str(i) ).pack() root.mainloop() #不同的組,各個按鈕互不影響。 --------------------------------------- '''小甲魚的例子'''
from tkinter import * root = Tk() v = IntVar() v.set(1) #要實現單選互斥的效果, #variable選項共享一個整型變數, #value需要設定不同的值 Radiobutton(root,text = '貂蟬',variable = v,value = 1).pack(anchor = W) Radiobutton(root,text = '王昭君',variable = v,value = 2).pack(anchor = W) Radiobutton(root,text = '楊玉環',variable = v,value = 3).pack(anchor = W) Radiobutton(root,text = '西施',variable = v,value = 4).pack(anchor = W) root.mainloop() '''還可以寫成迴圈版的''' from tkinter import * root = Tk() girls = [('西施',1),('王昭君',2),('楊玉環',3),('貂蟬',4)] v = IntVar() #tkinter專用整型變數 v.set(1) #設定v的值為1,值多少無所謂了,我的理解是第一組寫1,第二組寫2,一次遞增 for girl,num in girls: #variable = v綁定了一個整型變數 b = Radiobutton(root,text = girl,variable = v,value = num) b.pack(anchor = W) root.mainloop()