python thinker写一个多行表格勾选的界面
时间: 2023-12-12 13:00:54 浏览: 280
使用Python的tkinter模块可以编写一个多行表格勾选的界面。下面是一个简单的示例代码:
```python
from tkinter import Tk, Canvas, Frame, BOTH, Checkbutton, IntVar
class Table(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
self.initUI()
def initUI(self):
self.parent.title("多行表格勾选界面")
self.canvas = Canvas(self)
self.canvas.pack(fill=BOTH, expand=1)
# 表头
headers = ["选择", "姓名", "年龄", "性别"]
for i, header in enumerate(headers):
self.canvas.create_text(50 + i * 100, 30, text=header)
# 数据行
data = [
["张三", 25, "男"],
["李四", 30, "女"],
["王五", 28, "男"],
]
self.vars = [] # 每行选中状态的变量
for i, row in enumerate(data):
# 创建复选框,并设置选中状态的变量
var = IntVar()
self.vars.append(var)
self.canvas.create_window(50, 60 + i * 30, anchor="w",
window=Checkbutton(self, variable=var))
# 创建文本框显示数据
for j, item in enumerate(row):
self.canvas.create_text(150 + j * 100, 60 + i * 30, anchor="w", text=item)
self.pack(fill=BOTH, expand=1)
def main():
root = Tk()
app = Table(root)
root.mainloop()
if __name__ == '__main__':
main()
```
上述代码创建了一个继承自Frame的Table类,实现了多行表格勾选界面。界面中包含了一个Canvas组件用于绘制表格,使用create_text创建表头和数据行的文本,并用create_window方法在每一行的左侧创建了复选框。
运行上述代码,会弹出一个包含表格的窗口,每一行的左侧都有一个复选框,可供用户选择。用户选择的状态可以通过对应行的变量进行访问。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)