เพื่อรันลูปไม่รู้จบใน Tkinter ใช้เมธอด after เรียกเมธอดซ้ำๆ หลังช่วงเวลาที่กำหนด จนกว่าผู้ใช้จะหยุดลูป
ขั้นตอน
นำเข้าไลบรารี สร้าง instance ของ tkinter frame
กำหนดขนาด frame ด้วย win.geometry
สร้างฟังก์ชัน "infinite_loop" เรียกตัวเองซ้ำ (recursive) พิมพ์ข้อความบนหน้าต่าง
สร้างฟังก์ชัน start() และ stop() ควบคุม infinite_loop ตัวแปร global "condition" ใน start() ตั้ง condition=True ใน stop() ตั้ง condition=False
สร้างปุ่ม 2 ปุ่ม เรียก start() และ stop()
ใช้ after() เรียก infinite_loop ซ้ำทุก 1 วินาที
รัน mainloop
ตัวอย่าง
from tkinter import *
win = Tk()
win.geometry("700x350")
condition = True
def infinite_loop():
if condition:
Label(win, text="Infinite Loop!", font="Arial, 25").pack()
win.after(1000, infinite_loop)
def start():
global condition
condition = True
def stop():
global condition
condition = False
Button(win, text="Start the Loop", font="Arial, 12", command=start).pack()
Button(win, text="Stop the Loop", font="Arial, 12", command=stop).pack()
win.after(1000, infinite_loop)
win.mainloop()
ผลลัพธ์

กด "Start the Loop" เพื่อรันลูปไม่รู้จบ พิมพ์ "Infinite Loop!" ทุกวินาที กด "Stop the Loop" เพื่อหยุด