这是我关于StackOverflow的第一个问题。它可能不符合标准,但只是一个基本的查询。我可以在Tkinter的列表框中检查特定的字母吗?
我代码:
task_index = tasks_list.curselection()
selected_task = tasks_list.get(task_index) + "(Done)"
for task in tasks_list.curselection():
tasks_list.delete(task)
tasks_list.insert(task_index, selected_task)
我想检查(Done)是否已经出现在列表项中,如果是,打印类似于&;error&;的东西。希望有人能帮忙!
您可以遍历所选任务,查看任务是否以'(Done)'结束。如果没有,通过在任务中添加'(done)'来标记任务已完成:
# assume mark_done() is executed when a button is clicked
# to mark selected tasks done
def mark_done():
DONE_MARKER = '(Done)'
for idx in tasks_list.curselection():
task = tasks_list.get(idx)
if not task.endswith(DONE_MARKER):
# mark the task done
tasks_list.delete(idx)
tasks_list.insert(idx, f'{task} {DONE_MARKER}')
else:
print(f'"{task[:-len(DONE_MARKER)-1]}" already done')