【发布时间】:2021-08-19 19:11:58
【问题描述】:
首先这是我的代码:
button_1 = Button(
image=button_image_1,
borderwidth=0,
highlightthickness=0,
command=lambda:[get_to_main_when_clicked(),delete_red_border()],
relief="flat"
)
如您所见,我将 2 个功能绑定到此按钮。对于第一个:如果特定条件为真,则该函数让图像出现。然后第二个应该等待 3 秒并且应该删除出现的图像。唯一真正奇怪的问题是,无论我做什么,首先执行 delete_red_border() 函数。它等待 3 秒,然后尝试删除无法定义和全球化的图像,因为 get_to_main_when_clicked() 函数未执行。我该如何解决这个问题? PS:具体条件为真。
【问题讨论】:
-
也许不是在命令中同时添加这两个函数,只需添加
get_to_main_when_clicked()函数,在get_to_main_when_clicked()末尾可以使用after(3000, delete_red_border) -
您的
lambda创建一个列表,首先评估第一项。我想问题出在其他地方...... -
是的,我想我找到了问题,我在另一个答案下的评论中描述了它,但是是的,BrianZhang 你完全正确,非常明显并且更简单的解决方案。非常感谢!
-
该死的也不行,我猜是因为同样的问题
-
在函数运行完成之前窗口不会刷新
标签: python tkinter tkinter-canvas