Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 4, 2019 06:07:57

lennen
Зарегистрирован: 2019-01-04
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Отрубить процесс по выходу из GUI-приложения Python

Доброе утро!

Я использовал конструкцию таймера, но когда я выхожу из программы, таймер все-равно выполняется. Я создал exe, но из-за таймера программа висит в процессах даже после закрытия. Как отрубать программу полностью?

 from threading import Timer #Таймер
class RepeatedTimer(object):
    def __init__(self, interval, function, *args, **kwargs):
        self._timer     = None
        self.interval   = interval
        self.function   = function
        self.args       = args
        self.kwargs     = kwargs
        self.is_running = False
        self.start()
    def _run(self):
        self.is_running = False
        self.start()
        self.function(*self.args, **self.kwargs)
    def start(self):
        if not self.is_running:
            self._timer = Timer(self.interval, self._run)
            self._timer.start()
            self.is_running = True
    def stop(self):
        self._timer.cancel()
        self.is_running = False

 rt = RepeatedTimer(10, autogo_url, "World") 

Офлайн

#2 Янв. 4, 2019 09:48:28

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Отрубить процесс по выходу из GUI-приложения Python

lennen
Я использовал конструкцию таймера, но когда я выхожу из программы, таймер все-равно выполняется.
ну stop() должно отработать корректно(при условии что у вас внутри таймера нет “бесконечного” цикла), вызывайте его перед выходом из ГУИ.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Янв. 4, 2019 10:10:02)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version