Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để bạn tạo nút dừng Tkinter GUI để phá vỡ vòng lặp vô hạn?

Tkinter là một thư viện Python được sử dụng để tạo ứng dụng dựa trên GUI. Giả sử rằng chúng ta phải tạo một ứng dụng chức năng trong đó một chức năng cụ thể được xác định trong một vòng lặp. Hàm đệ quy sẽ hiển thị một số văn bản trong tiện ích Nhãn trong thời gian vô hạn.

Để dừng hàm đệ quy này, chúng ta có thể xác định một hàm thay đổi điều kiện bất cứ khi nào một nút được nhấp. Điều kiện có thể được thay đổi bằng cách khai báo một biến toàn cục có thể là Đúng hoặc Sai.

Ví dụ

# Import the required library
from tkinter import *

# Create an instance of tkinter frame
win= Tk()

# Set the size of the Tkinter window
win.geometry("700x350")

# Define a function to print something inside infinite loop
run= True

def print_hello():
   if run:
      Label(win, text="Hello World", font= ('Helvetica 10 bold')).pack()
   # After 1 sec call the print_hello() again
   win.after(1000, print_hello)
def start():
   global run
   run= True

def stop():
   global run
   run= False

# Create buttons to trigger the starting and ending of the loop
start= Button(win, text= "Start", command= start)
start.pack(padx= 10)
stop= Button(win, text= "Stop", command= stop)
stop.pack(padx= 15)

# Call the print_hello() function after 1 sec.
win.after(1000, print_hello)
win.mainloop()

Đầu ra

Làm cách nào để bạn tạo nút dừng Tkinter GUI để phá vỡ vòng lặp vô hạn?

Bây giờ, bất cứ khi nào chúng tôi nhấp vào nút "Dừng", nó sẽ ngừng gọi hàm.