建立 Tkinter 表
你可以在更廣泛的應用程式中將 GUI 用作獨立或整合應用程式。
本教程展示瞭如何在 Python 中建立 Tkinter 表,並且我們將討論與 Python 中的 Tkinter 表相關的方法。
在 Tkinter 中使用 Entry 元件建立表
Tkinter 幫助建立表格,但它不為表格元件提供使用者介面。你可以通過在行和列中重複顯示條目元件來建立表格。
然而,要製作一個六行四列的表格,我們將不得不使用一個 for
迴圈(見下文)。
for i in range(6):
for j in range(4):
我們需要通過建立一個 Entry
類物件在這些迴圈中建立一個 Entry
元件(見下文)。
entry= Entry(gui, width=22, fg='blue', font=('Arial', 15, 'bold')
現在,我們需要在行和列中設定這個交集。這可以使用 grid()
方法來完成,我們可以在其中將行和列作為引數傳遞,如下所示。
# here row and column indicate
# row and column positions
entry.grid(row=row, column=column)
現在我們可以使用 insert()
方法將資料插入 Entry
元件(見下文)。
entry.insert(END, data)
insert()
方法有兩個引數,END
和 data
。End
引數負責在 Entry()
元件中的先前資料的末尾新增連續資料。
你將自己建立 data
引數;它可以是列表、Excel 工作表或資料庫。
這是在下面的系統中使用列表中的資料的邏輯方法。在這段程式碼中,我們獲取一個包含 6 個元組的列表,每個元組包含四個值,分別是 Employee id
、Name
、City
和 Age
。
因此,我們將有一個每行 6 行 4 列的表。該程式還可以與 Excel 工作表或資料庫一起使用,以表格格式顯示所有資料。
from tkinter import *
# Table class
class Table:
# Initialize a constructor
def __init__(self, gui):
# An approach for creating the table
for i in range(total_rows):
for j in range(total_columns):
print(i)
if i ==0:
self.entry = Entry(gui, width=20, bg='LightSteelBlue',fg='Black',
font=('Arial', 16, 'bold'))
else:
self.entry = Entry(gui, width=20, fg='blue',
font=('Arial', 16, ''))
self.entry.grid(row=i, column=j)
self.entry.insert(END, employee_list[i][j])
# take the data
employee_list = [('ID', 'Name', 'City', 'Age'),
(1, 'Gorge', 'California', 30),
(2, 'Maria', 'New York', 19),
(3, 'Albert', 'Berlin', 22),
(4, 'Harry', 'Chicago', 19),
(5, 'Vanessa', 'Boston', 31),
(6, 'Ali', 'Karachi', 30)]
# find total number of rows and
# columns in list
total_rows = len(employee_list)
total_columns = len(employee_list[0])
# create root window
gui = Tk()
table = Table(gui)
gui.mainloop()
輸出:
Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.
LinkedIn