如何在 Tkinter 中使用停止按钮停止循环?
tkinterpythongui-programming更新于 2025/7/19 6:04:17
考虑一个循环运行进程的情况,我们希望在单击按钮时停止循环。通常,在编程语言中,要停止连续的 while 循环,我们使用 break 语句。然而,在 Tkinter 中,我们使用 after() 来代替 while 循环在循环中运行定义的函数。要中断连续循环,请使用可以更新的全局布尔变量来更改循环的运行状态。
对于给定的示例,
创建一个全局变量,其作用类似于循环中的标志。
定义两个按钮Start 和Stop,以启动和停止执行。
定义两个函数on_start()和on_stop(),以在循环中传递更新。
示例
# 导入所需的库
from tkinter import *
from tkinter import ttk
# 创建 tkinter 框架或窗口的实例
win = Tk()
# 设置窗口大小
win.geometry("700x350")
running = True
# 定义一个函数,循环打印文本
def print_text():
if running:
print("Hello World")
win.after(1000, print_text)
# 定义一个函数,启动循环
def on_start():
global running
running = True
# 定义一个函数,停止循环
def on_stop():
global running
running = False
canvas = Canvas(win, bg="skyblue3", width=600, height=60)
canvas.create_text(150, 10, text="Click the Start/Stop to execute the Code", font=('', 13))
canvas.pack()
# 添加一个按钮来启动/停止循环
start = ttk.Button(win, text="Start", command=on_start)
start.pack(padx=10)
stop = ttk.Button(win, text="Stop", command=on_stop)
stop.pack(padx=10)
# 运行一个函数在窗口中打印文本
win.after(1000, print_text)
win.mainloop()
输出
运行上述代码,测试循环是否满足特定条件。
如果我们运行上述代码并单击"开始"按钮,它将在循环中打印"Hello World"文本,单击"停止"按钮即可停止该循环。
Hello World Hello World Hello World Hello World Hello World Hello World 进程以退出代码 0 结束
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

