Я столкнулся с проблемой рендеринга дуги на холсте tkinter.
(Я использую рекомендуемые методы для масштабирования и прокрутки холста, см. Мой код ...)
Код создает дугу на холсте, его стиль - 'pieslice'
.
Сначала кажется, что все работает хорошо, но когда я продолжаю увеличивать масштаб до изогнутого края фигуры, в какой-то момент он начинает не соответствовать другим краям, и в конечном итоге он исчезает ...
Если я продолжу увеличивать масштаб, исчезнут и другие края ...
from tkinter import *
root = Tk()
root.grid_rowconfigure(0, weight=1)
root.grid_columnconfigure(0, weight=1)
cnv = Canvas(root)
cnv.grid(row=0, column=0, sticky='nswe')
cnv.create_arc(20, 20, 250, 250, start=0, extent=30)
def scroll_start(event):
cnv.configure(cursor='fleur')
cnv.scan_mark(event.x, event.y)
def scroll_move(event):
cnv.scan_dragto(event.x, event.y, 1)
def scroll_end(event):
cnv.configure(cursor='arrow')
def zoom(event):
if event.delta > 0:
cnv.scale('all', cnv.canvasx(event.x), cnv.canvasy(event.y), 1.1, 1.1)
else:
cnv.scale('all', cnv.canvasx(event.x), cnv.canvasy(event.y), 0.9, 0.9)
cnv.bind('<Button-3>', scroll_start)
cnv.bind('<B3-Motion>', scroll_move)
cnv.bind('<ButtonRelease-3>', scroll_end)
cnv.bind('<MouseWheel>', zoom)
root.mainloop()
Есть ли способ исправить это или я попал в ограничения tkinter? Спасибо за любую помощь.