我正在使用Tkinter尝试一个测试应用程序。我已经使用网格布局管理器创建了一个表格,如下所示。有两个按钮 - 添加行和删除行。添加行按预期工作。我该如何删除选定的行?我的想法是为每一行提供一个复选框,如下所示。然后可以删除每个选定的行。但是我不知道具体该怎么做,而且不确定是否可行。
注意:我不想使用tktable或treeview来创建表格。
在这种情况下,是否有更好的方法来删除行?请提供解决方案。
代码:
from Tkinter import *
import ttk
from ttk import *
i =2
def add_row():
global i
var = IntVar()
c = Checkbutton(root, variable = var)
c.grid(row = i, column = 0)
for j in range(1,5): #Columns
b = Entry(root)
b.grid(row=i, column=j)
i =i+1
root = Tk()
bt = ttk.Button(root , text = 'Add Row', command = add_row)
bt.grid(row =0, column=0)
dl = ttk.Button(root , text = 'Delete Row')
dl.grid(row =0, column=1)
v0 = StringVar()
e0 = Entry(root, textvariable = v0, state = 'readonly')
v0.set('Select')
e0.grid(row = 1, column = 0 )
v1 = StringVar()
e1 = Entry(root, textvariable = v1, state = 'readonly')
v1.set('Col1')
e1.grid(row = 1, column = 1 )
v2 = StringVar()
e2 = Entry(root, textvariable = v2, state = 'readonly')
v2.set('Col2')
e2.grid(row = 1, column = 2)
v3 = StringVar()
e3 = Entry(root, textvariable = v3, state = 'readonly')
v3.set('Col3')
e3.grid(row = 1, column = 3 )
v4 = StringVar()
e4 = Entry(root, textvariable = v4, state = 'readonly')
v4.set('Col4')
e4.grid(row = 1, column = 4 )
mainloop()
注意:我不想使用tktable或treeview来创建表格。