checkbutton控件
簡單的實現多選:
1 import tkinter 2 3 wuya = tkinter.Tk() 4 wuya.title("wuya") 5 wuya.geometry("300x200+10+20") 6 7 # 創建四個多選框 8 cb1 = tkinter.Checkbutton(wuya,text='周傑倫') 9 cb1.pack() 10 cb2 = tkinter.Checkbutton(wuya,text='周星馳') 11 cb2.pack() 12 cb3 = tkinter.Checkbutton(wuya,text='愛舞涯') 13 cb3.pack() 14 cb4 = tkinter.Checkbutton(wuya,text='蔡依林') 15 cb4.pack() 16 17 wuya.mainloop()
tkinter中如果不設置對齊方式,默認是居中的,如果要設置可以在pack()中加參數:cb1.pack(side='left')
結果為:
結合之前學的加lable和打印功能:
1 import tkinter 2 3 wuya = tkinter.Tk() 4 wuya.title("wuya") 5 wuya.geometry("300x200+10+20") 6 7 # 加標簽 8 lb = tkinter.Label(wuya,text='請選擇自己喜歡的名星(多選):',fg='blue') 9 lb.pack() 10 11 12 13 # 定義執行選擇框后的函數 14 def func(): 15 msg = '' 16 if h1.get() == True: # 因為h1創建時是bool的運算,選中為真,不選為假 17 msg += "周傑倫\n" 18 if h2.get() == True: 19 msg += "周星馳\n" 20 if h3.get() == True: 21 msg += "愛舞涯\n" 22 if h4.get() == True: 23 msg += "蔡依林\n" 24 25 text.delete(0.0,tkinter.END) # 清除text中的內容,0.0表示從第一行第一個字開始清除,end表示清除到最后結束 26 text.insert('insert',msg) 27 28 # 創建四個多選框 29 h1 = tkinter.BooleanVar() # 設置選擇框對象 30 cb1 = tkinter.Checkbutton(wuya,text='周傑倫',variable=h1,command=func) 31 cb1.pack() 32 33 h2 = tkinter.BooleanVar() 34 cb2 = tkinter.Checkbutton(wuya,text='周星馳',variable=h2,command=func) 35 cb2.pack() 36 37 h3 = tkinter.BooleanVar() 38 cb3 = tkinter.Checkbutton(wuya,text='愛舞涯',variable=h3,command=func) 39 cb3.pack() 40 41 h4 = tkinter.BooleanVar() 42 cb4 = tkinter.Checkbutton(wuya,text='蔡依林',variable=h4,command=func) 43 cb4.pack() 44 # side='left'表示左對齊 45 46 # 創建一個文本框 47 text = tkinter.Text(wuya,width=30,height=10) 48 text.pack() 49 50 51 wuya.mainloop()
結果為:
variable用法
variable主要用於傳參和綁定變量。主要參數有:variable
, textvariable
, onvalue
, offvalue
, value
他是雙向綁定的,也就是說如果該變量發生變化,隨之綁定的控件也會變化,與他保持一致
常用的variable變量有:
x = StringVar() 保存一個 string 類型變量, 默認值為""
x = IntVar() 保存一個整型變量, 默認值為0
x = DoubleVar() 保存一個浮點型變量,默認值為0.0
x = BooleanVar() 保存一個布爾型變量,返回值為0表示假,1表示真
對他的操作主要有兩個:
設置他的值,用set()方法,即:x.set()
得到他的值,用get()方法,即:x.get()