2 回答

TA貢獻1824條經驗 獲得超6個贊
您可以entry使用以下方式定義值insert:
from tkinter import *
window = Tk()
x = [1, 2, 3, 4]
height = 1
for i in range(height):
for j, val in enumerate(x):
b = Entry(window)
b.insert(0, val)
b.grid(row=i, column=j)
window.mainloop()
結果:

TA貢獻1831條經驗 獲得超10個贊
如果您嘗試模擬電子表格,則需要一種方法來尋址每一行中的小部件。一旦掌握了這些,插入、刪除和獲取數據就變得非常簡單。
最簡單的方法是將條目小部件的引用存儲為列表的列表,以便您可以按行號和列號引用任何單元格。
cells = []
for i in range(height): # Rows
row = []
cells.append(row)
for j in range(width): # Columns
b = Entry(window, text="")
b.grid(row=i, column=j)
row.append(b)
您現在可以用來cells引用任何小部件。例如,第 0 行第 2 列的小部件將為cells[0][2]。
有了這個基本結構,您現在可以輕松編寫函數來一次獲取或設置整行或整個區域。
例如,以下是創建函數的方法set_row:
def set_row(rownum, data):
row = cells[rownum]
for entry, value in zip(row, data):
entry.delete(0, "end")
entry.insert(0, value)
例如,要使用以下內容設置第一 (0) 行,x您可以執行以下操作:
set_row(0, x)
從電子表格中獲取數據也很簡單:
def get_data():
rows = []
for rownum in range(height):
row = []
rows.append(row)
for columnnum in range(width):
entry = cells[rownum][columnnum]
row.append(entry.get())
return rows
添加回答
舉報