What I’m trying to do:
Access the event arguments (x, y, button, etc…) from a canvas mouse event.
What I’ve tried and what’s not working:
Tried to make simple use the argument values (such as subtracting from ‘x’ and ‘y’, checking the value of ‘button’), however I am receiving a ‘TypeError’ by doing so.
It only seems to work when converting to a string and back. It used to work previously, however this week I’ve suddenly been receiving the error.
Code Sample:
def canvas_1_mouse_down(self, x, y, button, keys, **event_args):
"""This method is called when a mouse button is pressed on this component"""
print(x)
print(y)
print(button)
# Not working:
print(f"X minus 50 is {x - 50}")
print(f"Y minus 50 is {y - 50}")
print(f"Button {button} clicked...")
if button == 1:
print("Left mouse")
elif button == 3:
print("Right mouse")
# Only seems to work with type conversion as shown below...
# print(f"X minus 50 is {float(str(x)) - 50}")
# print(f"Y minus 50 is {float(str(y)) - 50}")
# print(f"Button {int(str(button))} clicked...")
# if int(str(button)) == 1:
# print("Left mouse")
# elif int(str(button)) == 3:
# print("Right mouse")
Clone link:
share a copy of your app