本帖最后由 1151749862 于 2022-2-5 14:55 编辑
前段时间编写爬取卫星轨道根数小程序
用到了许多Python-Gui的知识,这几天有空就分享给大家
这次主要介绍的复选框CheckButtond的具体应用
1.调用tkinter,确定主窗体
[Python] 纯文本查看 复制代码 from tkinter import *
root = Tk()
root.geometry("360x100+690+450")
root.title("CheckButton控件")
2.添加label标签
[Python] 纯文本查看 复制代码 Label01 = Label(root, text="目标卫星")
Label01.grid(row=0, column=0, padx=0, pady=20)
3.生成复选框x5
[Python] 纯文本查看 复制代码 satellite_list = ["Z-1", "X-2", "C-3", "V-4", "B-5"]
# 用一组值存储选中哪些
is_check_list = []
# 通过循环生成5个复选框
for satellite in satellite_list:
is_check_list.append(IntVar())
CheckButton01 = Checkbutton(root, text=satellite, variable=is_check_list[-1])
CheckButton01.grid(row=0, column=len(is_check_list), padx=5, pady=5)
这里使用了一个循环,生成5个依次排列的复选框
同时将对应卫星的选择状态贴入列表is_check_list
想要查询对应卫星是否被选择,直接访问is_check_list就行了
4.定义输出值函数sel
[Python] 纯文本查看 复制代码 def sel():
all_select = ""
for i in range(0, len(is_check_list)):
if is_check_list[i].get() == 1:
all_select += satellite_list[i] + " "
Label_select["text"] = "所选卫星为:" + all_select
循环访问is_check_list,如果卫星状态为1被选取,则显示出该卫星
5.添加一个button,用于控制执行sel函数
[Python] 纯文本查看 复制代码 Button01 = Button(root, text="确认目标", command=sel)
Button01.grid(row=1, column=0, padx=5, pady=5)
6.添加一个lable,用于展示按钮产生结果
[Python] 纯文本查看 复制代码 Label_select = Label(root, text="")
Label_select.grid(row=1, column=1, columnspan=5)
7.加载窗体
[Python] 纯文本查看 复制代码 root.mainloop()
8.总结:本节难点在于理解is_check_list.append(IntVar())
执行本行后is_check_list[]中会有一系列IntVal类型的数值,但是此时没有定义
执行下一行后将variable(按钮当前状态)赋值给向is_check_list列表最后一位,就能将对应卫星的选择状态存入列表is_check_list的元素中,
后续想要获取某个卫星是否被选择,可以直接访问is_check_list获得,选择为1,未被选择为0
9.附上程序完整代码大家一起学习
52pojie.zip
(647 Bytes, 下载次数: 2)
|