網(wǎng)站首頁 編程語言 正文
?正文如下:
import tkinter as tk
windows = tk.Tk()
windows.title('復(fù)選框')
lab = tk.Label(windows, text='請選擇你喜歡做的事', fg='blue', bg='lightblue', width=35)
lab.grid(row=0, pady=2)
var_b = tk.IntVar()
print(var_b.get())
check_button_b = tk.Checkbutton(windows, text='打籃球', variable=var_b)
check_button_b.grid(row=2)
var_c = tk.IntVar()
print(var_c.get())
check_button_c = tk.Checkbutton(windows, text='打豆豆', variable=var_c)
check_button_c.grid(row=3)
tk.mainloop()
上述代碼中我們都能看到 IntVar()整形變量,默認(rèn)值是 0 ,默認(rèn)顯示的復(fù)選框是未勾選狀態(tài) 。
當(dāng)然你不用這個(gè)變量也行,Checkbutton是有默認(rèn)值的,默認(rèn)值也是?0?,復(fù)選框同樣也是未勾選狀態(tài) 。
check_button_a = tk.Checkbutton(windows, text='看電影')
check_button_a.grid(row=1)
check_button_b = tk.Checkbutton(windows, text='打籃球')
check_button_b.grid(row=2)
tk.mainloop()
但是當(dāng)我們使用StringVar()字符串變量,運(yùn)行后復(fù)選框不僅默認(rèn)選中了,而且復(fù)選框上還出現(xiàn)了一層灰色遮罩
var_b = tk.StringVar()
check_button_b = tk.Checkbutton(windows, text='打籃球', variable=var_b)
check_button_b.grid(row=2)
var_c = tk.StringVar()
check_button_c = tk.Checkbutton(windows, text='打豆豆', variable=var_c)
check_button_c.grid(row=3)
tk.mainloop()
個(gè)人理解的:因?yàn)镾tringVar()是字符串變量,它的默認(rèn)值是這樣的 “?' '?”。這樣就導(dǎo)致了Checkbutton中variable接收的是 1,運(yùn)行成功后,顯示的也是選中狀態(tài)了。
?DoubleVar()浮點(diǎn)數(shù)變量和BooleanVar()布爾變量也是可以正常使用的
var_b = tk.DoubleVar()
print(var_b.get())
check_button_b = tk.Checkbutton(windows, text='打籃球', variable=var_b)
check_button_b.grid(row=2)
var_c = tk.BooleanVar()
print(var_c.get())
check_button_c = tk.Checkbutton(windows, text='打豆豆', variable=var_c)
check_button_c.grid(row=3)
tk.mainloop()
var_b = tk.DoubleVar() # 浮點(diǎn)型變量,默認(rèn)值為 0.0
var_c = tk.BooleanVar() # 布爾型變量,默認(rèn)值為 False
var_d = tk.IntVar() # 整形變量,默認(rèn)值為 0
var_e = tk.StringVar() # 字符串變量,默認(rèn)值為 ''
F:\virtualEnvironment\venv\Scripts\python.exe F:/git/test-python/tkinterGui/tkinterExampleCheckButton.py
0.0
False
0
Process finished with exit code 0
當(dāng)遇到多個(gè)選項(xiàng),又需要存儲(chǔ)的時(shí)候,就用上了字典和for循環(huán)操作,在用字典存值
import tkinter as tk
windows = tk.Tk()
windows.title('復(fù)選框')
lab = tk.Label(windows, text='請選擇你喜歡做的事', fg='blue', bg='lightblue', width=35)
lab.grid(row=0, pady=2)
def print_info():
a = ''
for j in select_all:
if select_all[j].get() == True:
a = a + enjoyment[j] + '\t'
print(a)
enjoyment = {0: "打籃球", 1: "踢足球", 2: "看電影", 3: "打豆豆", 4: "演 講", 5: "擼代碼"}
select_all = {}
for i in range(len(enjoyment)):
select_all[i] = tk.BooleanVar()
tk.Checkbutton(windows, text=enjoyment[i], variable=select_all[i]).grid(row=i+1)
btn = tk.Button(windows, text='確定', command=print_info).grid(pady=2)
tk.mainloop()
點(diǎn)擊 “?確定 ” 按鈕,控制臺(tái)就會(huì)打印為們獲取的值,如下展示效果
F:\virtualEnvironment\venv\Scripts\python.exe F:/git/test-python/tkinterGui/tkinterExampleCheckButton.py
打籃球?? ?踢足球?? ?看電影?? ?
Process finished with exit code 0
原文鏈接:https://blog.csdn.net/LIFENG0402/article/details/113951032
相關(guān)推薦
- 2022-10-21 C++調(diào)用matlab函數(shù)的實(shí)例_C 語言
- 2022-08-17 React-Route6實(shí)現(xiàn)keep-alive效果_React
- 2023-01-12 C語言技巧提升之回調(diào)函數(shù)的掌握_C 語言
- 2022-10-29 Android 開發(fā) | API 指南- Content Provider 應(yīng)用程序的使用方法
- 2022-11-07 關(guān)于react?父子組件的執(zhí)行順序_React
- 2022-09-25 線性回歸的從零開始實(shí)現(xiàn)(線性神經(jīng)網(wǎng)絡(luò))
- 2024-01-08 Spring AOP 切面@Around注解的具體使用
- 2022-09-03 .NET使用System.Timers.Timer類實(shí)現(xiàn)程序定時(shí)執(zhí)行_實(shí)用技巧
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支