如何在Tkinter中为Canvas绘制的圆形设置蓝色轮廓线条颜色
Tkinter绘制圆形设置轮廓颜色解决方案
问题原因
- 你代码中给Canvas构造函数传入的
lc参数不是Tkinter的合法配置项,无法生效 - 画布上单个图形的轮廓颜色需要在创建图形的方法(如
create_oval)中单独指定,不能全局配置在Canvas上
修正方案
修改create_oval调用逻辑,添加outline参数指定轮廓颜色,同时可按需调整Canvas尺寸避免圆形被裁切,修正后的完整代码如下:
from tkinter import * screen = Tk() screen.title("John Arthur - login system") screen.geometry("500x300") screen.resizable(False,False) frame1 = Frame(screen,bg="green",height=100,width=500) frame1.pack(side="bottom") frame2 = Frame(screen,bg="white",height=100,width=500) frame2.pack(after=frame1,side="bottom") frame3 = Frame(screen,bg="orange",height=100,width=500) frame3.pack(after=frame2,side="bottom") # 调整Canvas宽度适配圆形尺寸,删除无效的lc参数 Circle = Canvas(screen,width = 220,height = 220,bg=None) Circle.place(x = 10,y = 70) # 新增outline参数设置轮廓为蓝色 Circle.create_oval(60,60,210,210, outline="blue") screen.mainloop()
额外可选配置
- 调整轮廓粗细:在
create_oval中添加width=数值参数,数值越大轮廓越粗 - 填充圆形内部:在
create_oval中添加fill=颜色值参数,可设置圆形内部填充色
内容的提问来源于stack exchange,提问作者JOHN ARTHUR
相关产品推荐
相关产品推荐

