2016-09-01 3 views
1

Я хочу запустить метод на фоне моего tkinter кадра, который будет постоянно проверять, существуют ли определенные файлы в определенной папке. Пока файлы не существуют, появится красный tk.label, который говорит «Неполный», и как только он обнаружит эти конкретные файлы, tk.label станет зеленым и скажет «Завершить».Каков самый простой способ запустить постоянный цикл в кадре tkinter?

Проблема заключается в том, что мой метод запускается только при инициализации кадра, который открывается, как только открывается программа. Если эти файлы добавляются или удаляются после открытия программы, этот метод не реализуется, и tk.label не изменится.

Каков наилучший способ запуска постоянной проверки в фоновом режиме? Предпочтительно тот, который запускается только при открытии рамки. Это просто бесконечный цикл while?

+0

было бы разумно, чтобы положить некоторую задержку между такими «сдержек» – RomanPerekhrest

+0

задержка до 3-х секунд, должно быть хорошо для программы. – RBuntu

ответ

1

Определите функцию, которая делает все, что вы хотите, и чтобы это расписание функций было запущено снова в будущем. Он будет работать до завершения программы.

В этом примере предполагается глобальная переменная с именем root, которая относится к корневому окну, но любая ссылка на виджет будет работать.

def do_something(): 
    <your code here> 
    root.after(3000, do_something) 

Вызов это один раз, чтобы запустить его, и тогда он будет работать вечно

do_some_check() 
+0

Работал отлично! Благодарю. – RBuntu

Смежные вопросы