Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách tạo nút dừng Tkinter GUI thoát vòng lặp vô tận

Tkinter là thư viện Python tạo ứng dụng GUI. Giả sử ta tạo ứng dụng chức năng mà hàm cụ thể định nghĩa trong vòng lặp. Hàm đệ quy hiển thị văn bản trong Label widget vô số lần.

Để dừng hàm đệ quy, ta định nghĩa hàm thay đổi điều kiện khi nút được nhấn. Điều kiện thay đổi bằng cách khai báo biến toàn cục True hoặc False.

Ví dụ

# Import thư viện cần thiết
from tkinter import *

# Tạo instance của frame tkinter
win = Tk()

# Đặt kích thước cửa sổ Tkinter
win.geometry("700x350")

# Định nghĩa hàm in thứ gì đó trong vòng lặp vô tận
run = True

def print_hello():
    if run:
        Label(win, text="Hello World", font=('Helvetica 10 bold')).pack()
        # Sau 1 giây gọi print_hello() lại
        win.after(1000, print_hello)

def start():
    global run
    run = True

def stop():
    global run
    run = False

# Tạo nút kích hoạt bắt đầu và kết thúc vòng lặp
start = Button(win, text="Start", command=start)
start.pack(padx=10)
stop = Button(win, text="Stop", command=stop)
stop.pack(padx=15)

# Gọi hàm print_hello() sau 1 giây.
win.after(1000, print_hello)

win.mainloop()

Kết quả

Cách tạo nút dừng Tkinter GUI thoát vòng lặp vô tận

Bây giờ, khi nhấn nút "Stop", nó sẽ dừng gọi hàm.