📜  使用 Tkinter 创建表

📅  最后修改于: 2022-05-13 01:54:21.660000             🧑  作者: Mango

使用 Tkinter 创建表

Python为开发 GUI(图形用户界面)提供了多种选择。在所有的 GUI 方法中, Tkinter是最常用的方法。它是Python随附的 Tk GUI 工具包的标准Python接口。带有 Tkinter 的Python是创建 GUI 应用程序的最快和最简单的方法。使用 Tkinter 创建 GUI 是一项简单的任务。
注意:更多信息请参考Python GUI – tkinter

使用 Tkinter 创建表

表格对于以行和列的形式显示数据很有用。不幸的是,Tkinter 没有提供 Table 小部件来创建表格。但是我们可以使用其他方法创建一个表。例如,我们可以通过以行和列的形式重复显示条目小部件来制作表格。
要创建一个五行四列的表,我们可以使用两个 for 循环:

for i in range(5):
    for j in range(4):

在这些循环中,我们必须通过创建一个 Entry 类的对象来创建一个 Entry 小部件,如下所示:

e = Entry(root, width=20, fg='blue', font=('Arial', 16, 'bold')

现在,我们需要将这个 Entry 小部件放置在行和列中的逻辑。这可以通过使用 grid() 方法来完成,我们可以将行和列位置传递给该方法,如下所示:

# here i and j indicate 
# row and column positions
e.grid(row=i, column=j)

我们可以使用 insert() 方法将数据插入到 Entry 小部件中,如下所示:

e.insert(END, data)

这里,'END' 表示数据连续追加到 Entry 小部件中先前数据的末尾。
这是下面给出的程序中使用的逻辑,它使用来自列表的数据。我们采用了一个包含 5 个元组的列表,每个元组包含四个值,分别表示学生 ID、姓名、城市和年龄。
因此,我们将有一个每行 5 行 4 列的表。该程序还可以应用于来自数据库的数据,以表格的形式显示整个数据。
源代码:

Python3
# Python program to create a table
  
from tkinter import *
 
 
class Table:
     
    def __init__(self,root):
         
        # code for creating table
        for i in range(total_rows):
            for j in range(total_columns):
                 
                self.e = Entry(root, width=20, fg='blue',
                               font=('Arial',16,'bold'))
                 
                self.e.grid(row=i, column=j)
                self.e.insert(END, lst[i][j])
 
# take the data
lst = [(1,'Raj','Mumbai',19),
       (2,'Aaryan','Pune',18),
       (3,'Vaishnavi','Mumbai',20),
       (4,'Rachna','Mumbai',21),
       (5,'Shubham','Delhi',21)]
  
# find total number of rows and
# columns in list
total_rows = len(lst)
total_columns = len(lst[0])
  
# create root window
root = Tk()
t = Table(root)
root.mainloop()


输出: