1. 程式人生 > >tkinter學習-選擇按鈕

tkinter學習-選擇按鈕

var set label lan 不同的 [] 程序 port 方法

閱讀目錄

  • Checkbutton
  • Radiobutton 
  • LabelFrame

checkbutton :

  說明:多選框控件,用於在程序中提供多項選擇框,但是處理“多選一”的問題,還是交給 Radiobutton 或 Listbox 組件來實現吧。

  用法:使用 Checkbutton,你必須創建一個 Tkinter 變量用於存放按鈕的狀態:

from tkinter import *
root = Tk() v1 = IntVar() #用來表示按鈕是否選中 v2 = IntVar() c1 = Checkbutton(root,text=python,variable=v1) c2
= Checkbutton(root,text=java,variable=v2) c1.pack() c2.pack() mainloop()

結果

      技術分享

  用法:默認情況下,variable 選項設置為 1 表示選中狀態,反之設置為 0。你可以使用 onvalue 和 offvalue 選項修改它們的值,例如下邊代碼,只要 var 被設置為“T”即選中狀態, 設置為“F”則相反。

from tkinter import *
root = Tk()                    
v = IntVar()
v.set(T)
c = Checkbutton(root,text = 
測試,variable = v,onvalue=T,offvalue=F) c.pack()                  l = Label(root,textvariable = v) l.pack() mainloop()

結果:

    技術分享

  用法:如果選項多的話可以用列表,代碼如下:

from tkinter import *
root = Tk()
GIRLS = [西施,貂蟬,王昭君,楊玉環]
v = []
for girl in GIRLS:
    v.append(IntVar())              #這裏註意 IntVar()
b = Checkbutton(root,text=girl,variable=v[-1]) #這裏註意 variable[-1] b.pack(anchor=W)         #這個是左對齊 mainloop()

把Checkbutton組件都向左對齊,可以設置pick()方法的anchor選項,

anchor選項指定顯示的位置,有 N,S,W,E,等組成。

結果:

    技術分享

Radiobutton:

  說明:單選按鈕控件,顯示一個單選的按鈕狀態,需要設置不同的value值。

from tkinter import *
root = Tk()
LANGS = [
    (python,1),
    (perl,2),
    (c,3),
    (java,4)]
v = IntVar()          #這裏註意
v.set(1)            #默認是選第一個
for lang,num in LANGS:
    b = Radiobutton(root,text=lang,variable=v,value=num)
    b.pack(anchor=W)    
mainloop()

結果:

    技術分享              技術分享

如果不喜歡前面的小圓圈,還可以去掉前面的小圓圈,indicatoron設置為False就可以去掉前面的小圓圈。

b = Radiobutton(root,text=lang,variable=v,value=num,indicatoron=False)
b.pack(fill=X)    #橫向填充

LabelFrame:

  說明:labelframe 是一個簡單的容器控件,常用與復雜的窗口布局。

from tkinter import *
root = Tk()
group = LabelFrame(root,text="最好的腳本語言?",padx=5,pady=5)
group.pack(padx=10,pady=10)
LANGS=[
    (python,1),
    (java,2),
    (c,3)]
v = IntVar()
v.set(1)
for long,num in LANGS:
    b = Radiobutton(group,text=long,variable=v,value=num)
    b.pack(anchor=W)
mainloop()
    

結果:

    技術分享

參考文獻:

    小甲魚的python教學視頻

tkinter學習-選擇按鈕