Добрый день, у меня есть функция, которая запускает бесконечный цикл while, я смог сделать, чтобы я мог его остановить, но у меня не получается сделать остановку и включение цикла (паузу)
Main.py:
class Thread(QThread):
value_changed = pyqtSignal(str)
def __init__(self, login):
super().__init__()
self.login = login
self.running = True
def run(self, *args, **kwargs):
self.conn = sqlite3.connect('login.db')
self.cur = self.conn.cursor()
coord_x = self.cur.execute(
'SELECT coord_X FROM settings_autoswap WHERE login = ?',
(self.login,)).fetchone()
coord_y = self.cur.execute(
'SELECT coord_y FROM settings_autoswap WHERE login = ?',
(self.login,)).fetchone()
button = self.cur.execute(
'SELECT button FROM settings_autoswap WHERE login = ?',
(self.login,)).fetchone()
color = self.cur.execute(
'SELECT color FROM settings_autoswap WHERE login = ?',
(self.login,)).fetchone()
pause = self.cur.execute(
'SELECT pause FROM settings_autoswap WHERE login = ?',
(self.login,)).fetchone()
stop = self.cur.execute(
'SELECT stop FROM settings_autoswap WHERE login = ?',
(self.login,)).fetchone()
x = coord_x[0] if coord_x else None
y = coord_y[0] if coord_y else None
b = button[0] if button else None
c = color[0] if color else None
p = pause[0] if pause else None
s = stop[0] if stop else None
while self.running:
# Ваш основной цикл
Color = pyautogui.screenshot().getpixel((x, y))
print(Color)
if str(Color) == str(c):
print('swap')
pyautogui.press("2", presses=b, interval=0.01)
# Проверяем, нажата ли клавиша для остановки цикла
elif keyboard.is_pressed(p):
self.running = False