Найти - Пользователи
Полная версия: Как остановить бесконечный цикл при помощи кнопки
Начало » Python для экспертов » Как остановить бесконечный цикл при помощи кнопки
1
Nurullokhon
Доброго всем времени суток. Помогите пожалуйста.
Нажимаю кнопку и начинается бесконечный цикл. Хочу создать кнопку что бы он остановил этот цикл.
Заранее всех благодарю
 from tkinter import *
import time
 
clicks = 0
def click_button():
    count=60
    while True:
        time.sleep(1)
        count=count-1
        print (count)
root = Tk()
root.title("GUI на Python")
root.geometry("300x250")
buttonText = StringVar()
buttonText.set("Clicks {}".format(clicks))
btn = Button(textvariable=buttonText, background="#555", foreground="#ccc",
             padx="20", pady="8", font="16", command=click_button)
btn.place(relx=0.8, rely=0.9, anchor="c", height=30, width=100, bordermode=INSIDE)
root.mainloop()
BM21
Nurullokhon
Доброго всем времени суток. Помогите пожалуйста.Нажимаю кнопку и начинается бесконечный цикл. Хочу создать кнопку что бы он остановил этот цикл.Заранее всех благодарю
Надо в цикле обрабатывать сообщения от окон.
Примерно так но код не проверял, tk не когда не юзал.

 #-*-encoding: utf-8-*-
from tkinter import *
import time
 
loopRunned = False
stopLoop = False
clicks = 0
def click_button():
    global loopRunned
    global stopLoop
    count=60
    if not loopRunned: # Если цикл еще не запущен
        while not stopLoop: 
            time.sleep(1)
            count=count-1
            print (count)
            root.update_idletasks()
            root.update()
        loopRunned = False
        stopLoop = False
    else:
        stopLoop = True
root = Tk()
root.title("GUI на Python")
root.geometry("300x250")
buttonText = StringVar()
buttonText.set("Clicks {}".format(clicks))
btn = Button(textvariable=buttonText, background="#555", foreground="#ccc",
             padx="20", pady="8", font="16", command=click_button)
btn.place(relx=0.8, rely=0.9, anchor="c", height=30, width=100, bordermode=INSIDE)
root.mainloop()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB