Tkinter的Radiobutton组件
Radiobutton組件跟Checkbutton的用法基本一致,唯一不同的是Radiobutton實(shí)現(xiàn)的是單選的效果
要實(shí)現(xiàn)這種互斥額效果:
同一組內(nèi)的所有Radiobutton只能共享一個(gè)variable選項(xiàng),并且需要設(shè)置不同的value選項(xiàng)值
#導(dǎo)入模塊
from tkinter import *
#創(chuàng)建主窗口
master = Tk()
#新建一個(gè)變量
v = IntVar()
Radiobutton(master, text="One", variable=v, value=1).pack(anchor=W)
Radiobutton(master, text="Two", variable=v, value=2).pack(anchor=W)
Radiobutton(master, text="Three", variable=v, value=3).pack(anchor=W)
mainloop()
pack()的ancher選項(xiàng):
用于指定顯示位置,可以設(shè)置為N,NE,E,SE,S,SW,W,NW,CENTER,這與地理中表示位置一樣
運(yùn)行上述代碼:
、
如果有多個(gè)選項(xiàng),可以使用循環(huán)來(lái)處理,這會(huì)使得代碼更加簡(jiǎn)潔
from tkinter import *
master = Tk()
LANGS = [
? ? ("Python", 1),
? ? ("Perl", 2),
? ? ("Ruby", 3),
? ? ("Lua", 4)]
v = IntVar()
v.set(1)
for lang, num in LANGS:
? ? b = Radiobutton(master, text=lang, variable=v, value=num)
? ? b.pack(fill=X)
mainloop()
如果不喜歡前面這個(gè)小圈圈,還可以改成按鈕的形式:
將indicatoron設(shè)置為False即可去掉前面的小圈圈
from tkinter import *
master = Tk()
LANGS = [
? ? ("Python", 1),
? ? ("Perl", 2),
? ? ("Ruby", 3),
? ? ("Lua", 4)]
v = IntVar()
v.set(1)
for lang, num in LANGS:
? ? b = Radiobutton(master, text=lang, variable=v, value=num, indicatoron=False)
? ? b.pack(fill=X)
mainloop()
運(yùn)行:
總結(jié)
以上是生活随笔為你收集整理的Tkinter的Radiobutton组件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Tkinter的Checkbutton组
- 下一篇: 安装VMware并新建虚拟机