Код: Выделить всё
def main():
from WindowManager import *
MyWind = WindowManager()
MyWind.getPointerPos()
if __name__ == '__main__':
main()
Код: Выделить всё
WindowManager
Код: Выделить всё
def getPointerPos(self):
# compare pyautogui and win32
import win32api, pyautogui, pynput
print_r("","DEBUGGING CLASS: ACTION RECORDER: Press 'q' to exit")
keepGoing = True
def StopCallBack():
KeepGoing = False
h.stop()
while keepGoing :
x_win, y_win = win32api.GetCursorPos()
x_pynput, y_pynput = pyautogui.position()
print(f"win32: ({x_win}, {y_win})\t pynput:({x_pynput}, {y_pynput}) (press 'q' to exit)")
sleep(0.5)
with pynput.keyboard.GlobalHotKeys({
'q': StopCallBack,
'+c': quit}) as h: h.join()
положение указателя фиксируется, пока я не нажму «q». Затем оно отображается, пока я снова не нажму «q» и так четвертое. Цикл while никогда не прерывается.
Чего ожидается:
Положение указателя, которое будет непрерывно печататься в консоли окно, и этот цикл while останавливается, когда я нажимаю "q".
Мысли
Я подозреваю, что while Цикл keepGoing не останавливается, так как не существует прерываниядля освобождения цикла while. Я ожидал, что цикл прервется, приняв на лету bool keepGoing. Тем не менее я хочу сохранить этот метод как «автономный» и «простой» (а не кучу сложных прослушивателей только для простого нажатия символа «q») в классе.
Любая помощь приветствуется. .
Подробнее здесь: https://stackoverflow.com/questions/790 ... oding-erro