from pynput.mouse import Listener, Button
class ClickListener:
def __init__(self):
self.ClickTimes = 0
self.CurrentClick = 0
self.ClickPositions = []
def on_click(x, y, button, pressed):
if pressed and button == Button.middle:
ClickPositions.append((x,y))
self.CurrentClick += 1
if self.ClickTimes <= self.CurrentClick:
return Falses
def getClicks(self, nr):
self.ClickPositions = []
self.CurrentClick = 0
self.ClickTimes = nr
with Listener(on_click = ClickListener.on_click) as listener:
listener.join()
return self.ClickPositions
В функции 'on_click' как я могу получить доступ к атрибутам self, поскольку это событие, которое вызывает функции? Кажется, я не могу передать собственный объект событию.
Edit1.:
class ClickListener:
def __init__(self):
self.ClickTimes = 0
self.CurrentClick = 0
self.ClickPositions = []
def on_click(self, x, y, button, pressed):
if pressed and button == Button.middle:
self.ClickPositions.append((x,y))
self.CurrentClick += 1
if self.ClickTimes <= self.CurrentClick:
return Falses
def getClicks(self, nr):
self.ClickPositions = []
self.CurrentClick = 0
self.ClickTimes = nr
with Listener(on_click = self.on_click) as listener:
listener.join()
return self.ClickPositions
в этом случае он говорит, что отсутствует один обязательный аргумент, «нажатый».