📜  使用 Tkinter 创建表(1)

📅  最后修改于: 2023-12-03 15:06:51.439000             🧑  作者: Mango

使用 Tkinter 创建表

Tkinter 是 Python 的标准 GUI 库,它提供了各种组件来创建用户界面。其中包括表格(Table)模块,可以用来显示和编辑二维数据。

创建空的表格

要创建一个空的表格,可以使用 Table 类:

from tkinter import *
from tkinter.ttk import *
from tkinter import Table

root = Tk()

table = Table(root, rows=10, cols=5)
table.pack(fill=BOTH, expand=1)

root.mainloop()

这个例子创建了一个 10 行 5 列的空表格,并将其添加到主窗口中。Table 类有许多属性和方法可以用来设置和操作表格。

填充表格

要向表格中添加数据,需要先创建表格的单元格对象,然后将它们添加到表格中。例如,要将一个列表显示在表格中:

data = [
    [1, 'apple', 0.25],
    [2, 'banana', 0.50],
    [3, 'cherry', 0.75]
]

table = Table(root, rows=len(data), cols=len(data[0]))
table.pack(fill=BOTH, expand=1)

for i, row in enumerate(data):
    for j, value in enumerate(row):
        cell = Text(table, width=10, height=1)
        cell.insert(1.0, str(value))
        table.set_cell(i, j, window=cell)

这个例子创建了一个三行三列的表格,并将 data 列表中的数据填充到表格中。它会在每个单元格中创建一个 Text 对象,将数据插入到其中,然后将其添加到表格中。

编辑表格

要允许用户编辑表格,可以添加 command 属性,指定表格的回调函数:

def onCellClick(event):
    row, col = event.widget.current_row, event.widget.current_col
    print(f"Cell clicked: {row}-{col}")

table = Table(root, rows=10, cols=5, command=onCellClick)
table.pack(fill=BOTH, expand=1)

这个例子将表格的回调函数设置为 onCellClick,每当用户单击一个单元格时,这个函数就会被调用,并输出被单击的行和列。

总结

Tkinter 的表格模块可以用来显示和编辑二维数据。它提供了丰富的属性和方法,可以轻松地创建、填充和编辑表格。可以在 官方文档 中查看更多的信息和示例。