You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现事件等待?以Tkinter按钮点击后执行后续代码为例

Tkinter等待按钮点击后执行后续代码

Tkinter是事件驱动框架,不能用普通的阻塞等待逻辑(比如time.sleep),否则会导致界面卡死。正确的做法是把需要执行的后续代码绑定到按钮的回调函数里,当用户点击按钮时自动触发。

简单实现

直接把后续代码放到按钮绑定的function里:

from tkinter import *

def function():
    print("Yay you pressed a button!")

root = Tk()
btn1 = Button(root, text="点击我", command=function)
btn1.pack()  # 必须调用pack/grid/place让按钮显示
root.mainloop()

复杂逻辑拆分

如果后续代码较多,建议单独封装成函数,再在回调里调用:

from tkinter import *

def handle_after_click():
    print("Yay you pressed a button!")
    # 这里可以添加更多后续要执行的代码

def function():
    handle_after_click()

root = Tk()
btn1 = Button(root, text="点击我", command=function)
btn1.pack()
root.mainloop()

注意:不要尝试用循环等待某个变量变化的方式,这会阻塞Tkinter的事件循环,导致界面失去响应。事件驱动是Tkinter的核心逻辑,所有用户交互都要通过绑定回调函数来处理。

内容的提问来源于stack exchange,提问作者Keyboard's_Slave

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 04:06:25