在tkinter中,您使用Excel中的哪个窗口小部件?
答
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)?
答
您可以使用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
嘿,我有点困惑。我应该下载哪个文件并将其放在哪个目录中? – GiannisIordanou
TkTabl; e似乎不处于维护状态。 – Sajuuk