Python, прослушиватель клавиатуры в цикле, положение указателя: я не могу найти ошибку кодирования [дубликат]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python, прослушиватель клавиатуры в цикле, положение указателя: я не могу найти ошибку кодирования [дубликат]

Сообщение Anonymous »

Вызов метода getPointerPos из моего класса WindowManager:

Код: Выделить всё

def main():
from WindowManager import *
MyWind = WindowManager()
MyWind.getPointerPos()
if __name__ == '__main__':
main()
Метод getPointerPos явно плохо закодирован (

Код: Выделить всё

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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»