Я определил Label
объект как:
panel = Label(image_frame, image=self.img, cursor="cross")
Теперь я хотел бы нарисовать многоугольник поверх этого, и я создал функцию с именем draw()
, которая привязывается к холсту и позволяет рисовать многоугольник поверх него. Итак, я знаю, что моя команда draw()
работает.
Однако мне нужно сделать это поверх панели, которую я обозначил как Метка.
Самая большая проблема, с которой я столкнулся - это строка в моей команде draw()
if event.widget.canvasx(event.x)-2 < orig_x < event.widget.canvasx(event.x)+2 and event.widget.canvasy(event.y)-2 < orig_y < event.widget.canvasy(event.y)+2 :
Я выдаю следующую ошибку:
AttributeError: у объекта «Метка» нет атрибута «canvasx»
Есть ли аналог для canvasx
для Label
объекта? Как я могу обойти это без изменения Label
? Или меняет Label
на холст, мой единственный вариант?
Единственное, о чем я могу думать, это иметь прозрачный холст позади Label
, но тогда on-resize
, все становится грязным.