我想要一個Excel的表格部件在tkinter中,我正在寫一個gui。你有什麼建議嗎?在tkinter中,您使用Excel中的哪個窗口小部件?
4
A
回答
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)?
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
相關問題
- 1. Tkinter小部件打開兩個窗口
- 2. 獲取Tkinter窗口的每個子窗口小部件
- 3. 如何從窗口中刪除Tkinter窗口小部件?
- 4. Tkinter窗口小部件get()的問題
- 5. Tkinter的Toplevel小窗口部件
- 6. Tkinter菜單窗口小部件
- 7. 在tkinter中創建窗口小部件的工廠方法
- 8. 在Tkinter彈出窗口中的窗口小部件從另一個窗口的窗口小部件中獲取Tab鍵
- 9. 在tkinter GUI中使用多個窗口
- 10. Python中的Tkinter - 從活動窗口中刪除小部件
- 11. 在哪裏放置代碼從窗口中刪除tkinter小部件
- 12. tkinter中多個窗口的多個窗口大小
- 13. 如何在tkinter窗口中添加時鐘小部件?
- 14. Tkinter - 在python 3.2中展開窗口小部件
- 15. Tkinter根窗口類繼承,在__init__中添加小部件
- 16. 與Tkinter的Python中的窗口小部件表
- 17. Python turtle圖形窗口中的tkinter小部件的問題
- 18. Python tkinter複製窗口小部件到新主窗口
- 19. 在Python中不使用包或網格消失窗口小部件Tkinter
- 20. 如何在窗口中調整窗口小部件的大小
- 21. Tkinter中的多個窗口?
- 22. 在tkinter(python)的條目窗口小部件中設置一個整數限制
- 23. 如何在Tkinter中使用入口小部件
- 24. 在主窗口中打開一個QGraphicScene子窗口小部件
- 25. 在多個窗口中共享窗口小部件Tcl/Tk
- 26. 將窗口部件放到窗口上(使用tkinter)
- 27. 放入CDetailView窗口小部件另一個窗口小部件
- 28. 在Android窗口小部件中的GridView
- 29. 不在Gtk窗口中的小部件
- 30. Tkinter - 當前在哪個小部件上使用鼠標指針?
嘿,我有點困惑。我應該下載哪個文件並將其放在哪個目錄中? – GiannisIordanou
TkTabl; e似乎不處於維護狀態。 – Sajuuk