1. Radio按鈕
有的時(shí)候我們需要在多個(gè)選項(xiàng)中選擇一項(xiàng),那么我們就可以使用到Tkinter模塊中的Radiobutton方法來(lái)創(chuàng)建相關(guān)按鈕,創(chuàng)建的選項(xiàng)效果圖如下:
它的語(yǔ)法格式同前面的方法類(lèi)似,它的相關(guān)可選項(xiàng)也相似,下面我們就直接通過(guò)例子來(lái)學(xué)習(xí)這個(gè)控件,代碼如下:
import tkinter win = tkinter.Tk() win.title("Python教程")#給窗口取一個(gè)標(biāo)題 win.minsize(366, 50) # 定義一個(gè)最小尺寸 def get_data(): print('選擇的為第%d項(xiàng)'%x.get()) x = tkinter.IntVar()# 在這里我們把一組單選框綁定為同一個(gè)變量 radio_one = tkinter.Radiobutton(win, text="選項(xiàng)1", value=1, variable=x, command=get_data) radio_one.pack() radio_two = tkinter.Radiobutton(win, text="選項(xiàng)2", value=2, variable=x, command=get_data) radio_two.pack() win.mainloop()
運(yùn)行結(jié)果為:
我們每點(diǎn)擊一個(gè)選項(xiàng),就選擇了該按鈕,然后在控制臺(tái)輸出了選擇的第幾項(xiàng),需要注意的是我們?cè)诙x的時(shí)候給兩個(gè)Radiobutton使用了同一變量,通過(guò)這個(gè)我們才可以使得兩個(gè)按鈕公用的為一個(gè)信息,當(dāng)然我們還可以通過(guò)具體函數(shù)去實(shí)現(xiàn)更多的功能,在這里先對(duì)Radiobutton做一個(gè)簡(jiǎn)單的了解。
2. Check控件
我們?cè)谧鲞x擇題的時(shí)候會(huì)遇到多選題,上面我們學(xué)習(xí)的Radio按鈕即給我們提供了單選的功能,那么如果我們要使用多選操作的時(shí)候就要通過(guò)Check按鈕來(lái)實(shí)現(xiàn)。
Check按鈕的顯示效果如圖所示:
Check按鈕使用的時(shí)候tkinter模塊中的Checkbutton方法來(lái)創(chuàng)建相關(guān)控件,下面我們也直接通過(guò)例子來(lái)學(xué)習(xí)這個(gè)按鈕,代碼如下:
import tkinter win = tkinter.Tk() win.title("Python教程") win.minsize(200,200) def get_data(): my_str = '' if x.get() == True: my_str += "已選擇選項(xiàng)1\n" if y.get() == True: my_str += "已選擇選項(xiàng)2\n" if z.get() == True: my_str += "已選擇選項(xiàng)3\n" text.delete(0.0, tkinter.END) # 清除text文板框中的內(nèi)容 text.insert(tkinter.INSERT, my_str) #把上面的信息插入到文本框中 x = tkinter.BooleanVar() ckbutton_one = tkinter.Checkbutton(win, text="選項(xiàng)1", variable=x, command=get_data) ckbutton_one.pack() y = tkinter.BooleanVar() ckbutton_two = tkinter.Checkbutton(win, text="選項(xiàng)2", variable=y, command=get_data) ckbutton_two.pack() z = tkinter.BooleanVar() ckbutton_three = tkinter.Checkbutton(win, text="選項(xiàng)3", variable=z, command=get_data) ckbutton_three.pack() text = tkinter.Text(win, width=50, height=5) text.pack() win.mainloop()
運(yùn)行結(jié)果為:
在這個(gè)例子中,我們對(duì)三個(gè)按鈕分別綁定了三個(gè)不同的變量,我們可以在點(diǎn)擊不同按鈕的時(shí)候給出相應(yīng)的信息,在這里我們給按鈕定義了一個(gè)布爾值的選取,當(dāng)我們選擇了該選項(xiàng)的時(shí)候,該選項(xiàng)的布爾值為T(mén)rue,然后我們就可以輸出選項(xiàng)為T(mén)rue時(shí)的相關(guān)信息,如果未選中時(shí)我們也可以給出相應(yīng)的信息。
3. 總結(jié)
這兩個(gè)按鈕在我們完善界面相關(guān)功能的時(shí)候能夠提供一定的幫助,大家可以嘗試著練習(xí)使用這個(gè)模塊中的功能,甚至有興趣的可以通過(guò)本章的內(nèi)容出一份單選加多選的興趣答卷或者是相關(guān)方面的內(nèi)容,學(xué)習(xí)的過(guò)程也是興趣挖掘的過(guò)程,大家一定要在學(xué)習(xí)之后去把我們學(xué)過(guò)的知識(shí)串聯(lián)到一起。
C語(yǔ)言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競(jìng)賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:
一點(diǎn)編程也不會(huì)寫(xiě)的:零基礎(chǔ)C語(yǔ)言學(xué)練課程
解決困擾你多年的C語(yǔ)言疑難雜癥特性的C語(yǔ)言進(jìn)階課程
從零到寫(xiě)出一個(gè)爬蟲(chóng)的Python編程課程
只會(huì)語(yǔ)法寫(xiě)不出代碼?手把手帶你寫(xiě)100個(gè)編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競(jìng)賽課入門(mén)課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程