python2.用复选框列出一组爱好,选择爱好后通过标签显示选择结果,单击复选框选中,再次单击复选框则取消选中,如图7-2所示。
时间: 2024-11-30 13:22:13 浏览: 18
在Python中创建一个包含复选框(Checkbox)的界面并实现用户选择爱好后显示结果,可以使用Tkinter库,这是一个标准的GUI工具包。以下是简单的步骤和代码示例:
首先,你需要导入Tkinter模块,并创建一个窗口(Window)。然后,你可以使用`Radiobutton`(不是复选框,因为Tkinter没有直接提供复选框,通常使用`Checkbutton`)来表示爱好选项,每个`Radiobutton`代表一种爱好。当用户点击某个按钮时,对应的标签会更新显示所选的爱好。
```python
import tkinter as tk
def update_label():
selected_hobby = selected_variable.get()
if selected_hobby:
label.config(text=selected_hobby + "已选")
else:
label.config(text="无爱好")
# 创建主窗口
root = tk.Tk()
# 定义爱好列表
hobbies = ["足球", "篮球", "阅读", "绘画"]
# 初始化标签和变量
label = tk.Label(root, text="无爱好")
selected_variable = tk.IntVar() # 存储选择状态的变量
# 创建 Radiobuttons
for i, hobby in enumerate(hobbies):
radio_button = tk.Radiobutton(root, text=hobby, variable=selected_variable, value=i+1,
command=lambda checked=i+1: update_label())
radio_button.pack()
# 显示标签
label.pack()
# 运行主循环
root.mainloop()
```
在这个例子中,`update_label`函数会在每次`Radiobutton`的状态改变时被触发。`get()`方法用于获取当前选择的值,如果值存在,则表明有爱好被选中,否则为空。
阅读全文