2011-08-26 416 views

回答

4

Tktable至少可以說是最好的選擇,如果你需要全表支持。簡而言之,下面的例子展示瞭如何使用它,假設你已經安裝了它。這個例子是針對python3的,但是對於python2你只需要改變import語句。

import tkinter as tk 
import tktable 

root = tk.Tk() 
table = tktable.Table(root, rows=10, cols=4) 
table.pack(side="top", fill="both", expand=True) 
root.mainloop() 

由於沒有可安裝pip的軟件包,Tktable可能很難安裝。

如果您真正需要的是用於顯示和編輯數據的小部件網格,那麼您可以輕鬆構建入口網格或標籤小部件。舉一個例子,看this answer的問題Python. GUI(input and output matrices)?

+2

嘿,我有點困惑。我應該下載哪個文件並將其放在哪個目錄中? – GiannisIordanou

+0

TkTabl; e似乎不處於維護狀態。 – Sajuuk

6

您可以使用Tkinter的像這樣做一個簡單的電子表格的圖形界面:

from Tkinter import * 

root = Tk() 

height = 5 
width = 5 
for i in range(height): #Rows 
    for j in range(width): #Columns 
     b = Entry(root, text="") 
     b.grid(row=i, column=j) 

mainloop() 

編輯: 如果你想從電網獲取值,你必須使用網格的孩子。

def find_in_grid(frame, row, column): 
    for children in frame.children.values(): 
     info = children.grid_info() 
     #note that rows and column numbers are stored as string                   
     if info['row'] == str(row) and info['column'] == str(column): 
      return children 
    return None 

在哪裏可以調用該函數,它將返回子項。要獲得該條目的價值,您可以使用:

find_in_grid(root, i+1, j).get() 
+0

我很高興你的出發點,但它不工作,除非你還爲每個'Entry'使用'StringVar' – nmz787

相關問題