【发布时间】:2020-07-22 14:50:28
【问题描述】:
以下提供的行来自the tkdocs website。
一个订单项实际上可以是一系列线段,而不仅仅是一个;在 在我们的示例中,我们可以选择为每个 完成行程。也可以直接点对点画线, 或平滑成曲线。
文档最后指出“一条线(在 tkinter 画布上)可以直接点对点绘制,或者平滑成一条曲线。”。但我还没有找到一种方法来做到这一点。
编辑:
我的项目中使用的完整代码太大且不相关,无法提供,但下面给出的是其中的一小部分,它与上述问题有关。希望下面的代码可以帮助描述我迄今为止尝试过的内容。
def clear_prev_draw_coords(event = None) :
global last_draw_x, last_draw_y, pen_color, pen_size
last_draw_x, last_draw_y = None, None
drawing_coord_list.clear()
return
def draw() :
last_img_x = 0
last_img_y = 0
canvas.create_line(last_draw_x, last_draw_y, x2, y2, fill = pen_color, width = pen_size, tag = tag, smooth = 1)
last_draw_x, last_draw_y = x2, y2
return
def toggle_pen_mode(dummy = None) :
global mode
mode = 'pen'
root.bind("<B1-Motion>", draw)
root.bind("<ButtonRelease-1>", clear_prev_draw_coords)
return
【问题讨论】:
-
请发布您目前使用的代码,以便人们尝试帮助您。
-
Canvas.create_line()函数中有一个smooth选项。 -
@Ronald 我现在已经发布了代码,希望对您有所帮助:)
-
@acw1668 是的,我试过了,但它并没有像我想要的那样画出曲线。
-
您需要为一个
create_line()提供两个以上的点才能创建平滑线。
标签: python tkinter canvas line