使用Tkinter创建表详细示例介绍

2021年5月13日16:39:15 发表评论 1,010 次浏览

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小部件放置在行和列中。这可以通过使用格()我们可以将行和列位置传递给的方法, 如下所示:

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

我们可以使用以下命令将数据插入Entry小部件插入()方法, 如:

e.insert(END, data)

在这里, " END"表示数据将连续追加到Entry小部件中先前数据的末尾。

这是下面给出的程序中使用的逻辑, 该逻辑使用了来自列表的数据。我们选取了一个包含5个元组的列表, 每个元组包含四个值, 这些值指示学生ID, 姓名, 城市和年龄。

因此, 我们将有一个表, 其中有5行, 每行4列。该程序也可以应用于来自数据库的数据, 以表格形式显示整个数据。

源代码:

# 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()

输出如下:

python-table-using-tkinter

首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。


木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: