я пытаюсь выучить Python.Но у меня есть проблемы с потоками.Сначала я потерпел неудачу в классе «Proces», потому что поставил цикл в неправильном месте, а моя программа вернулась из другого класса.
Но теперь я думаю, что все правильно, и это все еще не работает. Мне нужен графический интерфейс, в котором я хочу, чтобы я мог писать свои условия с помощью текстовых записей, и мне нужен еще один класс "Proces", который будет делать вещи, проверять статус или интернет постоянно и т. Д. Постоянно или через определенный интервал ...
Проблема в том, что мой графический интерфейс tkinter зависает после нажатия чего-либо
, вот мой файл GUI.py:
import tkinter as tk
from Proces import Proces
root = tk.Tk()
frame = tk.Frame(root)
frame.pack()
button = tk.Button(frame, text="QUIT", fg="red",command=quit).pack(side=tk.LEFT)
pr = Proces()
print("\nGUI: proces init...")
pr.start()
print("\nGUI: Start ended")
root.mainloop()
вот файл Proces.py:
import time, threading
class Proces(threading.Thread):
def loop(self):
while True:
time.sleep(2)
print("\nProces: looping")
def __init__(self):
threading.Thread.__init__(self)
print("\nProces: Starting proces")
time.sleep(2)
def run(self):
self.deamon = True
print("\nProces: Starting loop")
self.loop()
* Это вывод: *
Proces: Starting proces
GUI: proces init...
Proces: Starting loop
GUI: Start ended
Proces: looping
Proces: looping
Proces: looping
Proces: looping
* Но графический интерфейс tkinter не реагирует. *
Как мне выполнить такую задачу?Спасибо за вашу помощь, совет и ответ