我正在创建一个仪表板,在同一行上显示一个复选框,文件名,一个进度条和一些按钮,以表示已打开的文件。我目前正在尝试实现删除功能。
我想选择左侧的复选框,当按下底部的删除按钮时,它将删除整个选定的小部件行。
from tkinter import Tk
Delete_button = Button(self,
text="Delete",
width=10,
command=self.Delete)
Delete_button.pack(side=RIGHT, padx=5, pady=5)
def Delete(self):
print("Deleting...")
def openDialogFunction(self):
global filepath
filepath = filedialog.askopenfilename()
if filepath != "":
incrementFunction(self) #Used to keep track of the row
base = os.path.basename(filepath)
filename = base.split(".")[0] # Grab file name for dashboard
# ********** Create new row *************
var2 = IntVar()
global CHKBtn
CHKBtn = Checkbutton(Main_frame,
text=filename,
width=45,
anchor="w",
variable=var2).grid(row=RowCounter, column=0, sticky='e')
global progressStart
progressStart = Progressbar(Main_frame,
orient="horizontal",
length=360,
mode="determinate")
progressStart.grid(row=RowCounter, column=1, padx=3, sticky='e')
global EXEBtn
EXEBtn = Button(Main_frame,
text="Execute",
width=8,
command=lambda e=RowCounter: self.Execute(e))
EXEBtn.grid(row=RowCounter, column=2, padx=3)
global TERMBtn
TERMBtn = Button(Main_frame,
text="Terminate",
width=8,
command=lambda e=RowCounter: self.Terminate(e))
TERMBtn.grid(row=RowCounter, column=3, padx=3)
def incrementFunction(self):
global RowCounter
RowCounter = RowCounter + 1
最初,我尝试将某种形式的窗口小部件ID连同行号一起添加到字典中,这样我就可以确定用户正在选择的行以及需要删除的窗口小部件。虽然无法找出一种ID形式传递到小部件的字典中。
感谢您的帮助。