Tkinter Entry 像 excel 中的 active.cell 一样获取行

问题描述 投票:0回答:1

我正在与 TKinter 合作制作一个类似 excel 的表格,所以我得到了这个:

使用此代码生成每个列条目:

entriesPI1 = []
for i in range(5,20):
     varlayer1pi=tk.StringVar()
     b = tk.Entry(newtab1, textvariable=varlayer1pi,background='#87CEEB')
     b.grid(row=i, column=6,sticky= 'NSEW')
     entriesPI1.append(varlayer1pi)

并根据列名称更改变量等等。

程序的第一部分进行整体计算以填充所有列和行中的所有条目,并且工作正常。但现在下一步是进行“重新计算”,所以我将连续更改一些值,然后进行计算。我无法达到的是如何模拟VB命令

Active.cell
并获取数字行,我读到我可以使用
.grid_info()
,但在这种情况下如何添加以获得类似“活动条目”并获取行号的内容。感谢您的关注和帮助。

tkinter tkinter-entry
1个回答
0
投票

您可以使用通用小部件方法

focus_get
来获取具有焦点的小部件。您可以使用
grid_info
获取该小部件的行和列。

这是一个示例,尽管在生产代码中需要对各种条件进行一些检查(没有焦点,焦点在网格之外,等等)

focused_entry = root.focus_get()
info = focused_entry.grid_info()
row = info['row']
column = info['column']
© www.soinside.com 2019 - 2024. All rights reserved.