Trong Tkinter, thay vì vòng lặp while thông thường, ta dùng after() để lặp lại hàm. Để dừng, dùng biến boolean toàn cục làm cờ (flag).
- Tạo biến toàn cục
running = True. - Hàm
print_text()in văn bản và gọi lại mình sau 1 giây nếurunningTrue. - Nút Start đặt
running = True, nút Stop đặtrunning = False.
Ví dụ minh họa
from tkinter import *
from tkinter import ttk
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="Nhấn Start/Stop để chạy/dừng vòng lặp", font=('', 13))
canvas.pack()
ttk.Button(win, text="Start", command=on_start).pack(padx=10)
ttk.Button(win, text="Stop", command=on_stop).pack(padx=10)
win.after(1000, print_text)
win.mainloop()
Kết quả đầu ra
Giao diện có nút Start/Stop.

Nhấn Start in "Hello World" lặp lại, nhấn Stop để dừng.
Hello World Hello World Hello World Hello World Hello World Process finished with exit code 0