2012-09-15 2 views
6

Линии, нарисованные на Tkinter.Canvas, не являются гладкими. Как они могут быть сделаны гладкими?Почему линии холста Tkinter зазубрены?

Вот что я пробовал:

from Tkinter import * 
root = Tk() 
cv = Canvas(root,bg = 'white') 
rt1 = cv.create_rectangle(10,10,110,110,width = 8,tags = ('r1','r2','r3')) 

def printRect(event): 
    print 'rectangle' 
def printLine(event): 
    print 'line' 

cv.tag_bind('r1','<Button-1>',printRect) 
cv.tag_bind('r1','<Button-3>',printLine) 
cv.create_line(10,20,200,200,width = 5,tags = 'r1') 
cv.pack() 
root.mainloop() 

Вот как это выглядит:

tkinter output from sample code

ответ

6

TkInter график не сглаживается поэтому диагональная линия выглядит зазубренными. Там может быть определенная платформа, подобная той, которую я нашел под названием Drawing Anti-Aliased Graphics Under Tkinter/Windows, чтобы обеспечить желаемую функциональность.

Смежные вопросы