Python编程tkinter库Canvas如何实现涂鸦颜色表及围棋盘
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,这期内容当中小编将会给大家带来有关Python编程tkinter库Canvas如何实现涂鸦颜色表及围棋盘,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。tkinter
千家信息网最后更新 2025年11月15日Python编程tkinter库Canvas如何实现涂鸦颜色表及围棋盘
这期内容当中小编将会给大家带来有关Python编程tkinter库Canvas如何实现涂鸦颜色表及围棋盘,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
tkinter库Canvas操作三个实例
实例一:涂鸦
import tkinter as tkimport pyautogui as agfrom time import sleepdef paint(event): x1, y1 = (event.x - 1), (event.y - 1) x2, y2 = (event.x + 1), (event.y + 1) tCanvas.create_oval(x1, y1, x2, y2, fill = "black")def moveRect(w,h): ag.moveRel(w,0, duration=w/1000) # moveRel移动 # dragRel拖曳 ag.moveRel(0,h, duration=h/1000) ag.moveRel(-w,0, duration=w/1000) ag.moveRel(0,-h, duration=h/1000) sleep(0.5)win = tk.Tk()X,Y=ag.size()winPos = "640x480+"winPos += str((X-640)//2)+"+"winPos += str((Y-480)//2)win.geometry(winPos)win.resizable(False, False)win.title('桌面分辨率:'+str(X)+"x"+str(Y))win.update()tCanvas = tk.Canvas(win, width = win.winfo_width(), height = 400, bg = 'white')tCanvas.pack(side = "top") tCanvas.bind("", paint)tCanvas.update()tk.Label(win, text = "画布作图").pack(side = "bottom")x0,y0 = 150,60w,h = 350,160x , y = win.winfo_rootx()+x0, win.winfo_rooty()+y0ag.moveTo(x, y, duration=0.5) moveRect(w,h)#画直线tCanvas.create_line(x0, y0, x0+w, y0)tCanvas.create_line(x0+w, y0, x0+w, y0+h)#可以把左上和右下两个坐标点一起赋值给变量coord = x0+w, y0+h, x0, y0+htCanvas.create_line(coord)coord = x0, y0+h, x0, y0tCanvas.create_line(coord, fill = 'blue')tCanvas.update()moveRect(w-h/3,h)#画矩形coord = x0+1,y0+1,x0+w-1-h/3,y0+h-1tCanvas.create_rectangle(coord,fill='limegreen')tCanvas.update() moveRect(h,h)#画圆或椭圆coord = x0,y0,x0+h,y0+htCanvas.create_oval(coord,fill='deepskyblue')tCanvas.update()x0=x0+h/2ag.moveRel(h/2,0)moveRect(w-h/2,h)coord = x0,y0,x0+w-h/2,y0+htCanvas.create_oval(coord,fill='deeppink')tCanvas.update() #画扇形、弓形或一段弧#type = PIESLICE 扇形、CHORD 弓形、ARC 弧形sleep(1)coord = 100, 100, 300, 300tCanvas.create_arc(coord,start=0,extent=180,fill='gold')tCanvas.update()sleep(1)coord = 240, 60, 490, 310#颜色也可用6位16进制数的GRB值表示tCanvas.create_arc(coord,style=tk.CHORD,start=10,fill='#7CFC00')tCanvas.update()sleep(1)coord = 180, 10, 470, 300tCanvas.create_arc(coord,style=tk.ARC,width=3,dash=6,extent=-180)#参数有很多,可以上网搜相关参数表 win.mainloop() 运行效果图:

注:程序运行时,按下鼠标左键就可以在画布上作图,上图 python 字样就是本人所画 ^_^
其它作图函数:
# 多边形、三角形tCanvas.create_polygon((10,100,10,180,100,180),fill='blue')# 文字tCanvas.create_text((150,50),text=u'输出文字',anchor=E) # 位图bmap={1:'error',2:'info',3:'question',4:'hourglass'}for i in bmap: tCanvas.create_bitmap((20*i,20),bitmap=bmap[i]) # 调入图片img=PhotoImage(file='D:/pictures/exam.gif')tCanvas.create_image((200,200),image=img)tCanvas.pack()实例二:颜色表
import tkinter as tkimport pyautogui as agwin = tk.Tk()X,Y=ag.size()W,H=1200,800winPos = str(W)+"x"+str(H)+"+"winPos += str((X-W)//2)+"+"winPos += str((Y-H)//2)win.geometry(winPos)win.resizable(False, False)win.title('桌面分辨率:'+str(X)+"x"+str(Y)+' '*6+'窗口大小:'+str(W)+"x"+str(H))win.update() colorTuple=(('black', '#000000'),('navy', '#000080'),('darkblue', '#00008B'),('mediumblue', '#0000CD'),('blue', '#0000FF'),('darkgreen', '#006400'),('green', '#008000'),('teal', '#008080'),('darkcyan', '#008B8B'),('deepskyblue', '#00BFFF'),('darkturquoise', '#00CED1'),('mediumspringgreen', '#00FA9A'),('lime', '#00FF00'),('springgreen', '#00FF7F'),('aqua', '#00FFFF'),('cyan', '#00FFFF'),('midnightblue', '#191970'),('dodgerblue', '#1E90FF'),('lightseagreen', '#20B2AA'),('forestgreen', '#228B22'),('seagreen', '#2E8B57'),('darkslategray', '#2F4F4F'),('limegreen', '#32CD32'),('mediumseagreen', '#3CB371'),('turquoise', '#40E0D0'),('royalblue', '#4169E1'),('steelblue', '#4682B4'),('darkslateblue', '#483D8B'),('mediumturquoise', '#48D1CC'),('indigo', '#4B0082'),('darkolivegreen', '#556B2F'),('cadetblue', '#5F9EA0'),('cornflowerblue', '#6495ED'),('mediumaquamarine', '#66CDAA'),('dimgray', '#696969'),('slateblue', '#6A5ACD'),('olivedrab', '#6B8E23'),('slategray', '#708090'),('lightslategray', '#778899'),('mediumslateblue', '#7B68EE'),('lawngreen', '#7CFC00'),('chartreuse', '#7FFF00'),('aquamarine', '#7FFFD4'),('maroon', '#800000'),('purple', '#800080'),('olive', '#808000'),('gray', '#808080'),('skyblue', '#87CEEB'),('lightskyblue', '#87CEFA'),('blueviolet', '#8A2BE2'),('darkred', '#8B0000'),('darkmagenta', '#8B008B'),('saddlebrown', '#8B4513'),('darkseagreen', '#8FBC8F'),('lightgreen', '#90EE90'),('mediumpurple', '#9370DB'),('darkviolet', '#9400D3'),('palegreen', '#98FB98'),('darkorchid', '#9932CC'),('yellowgreen', '#9ACD32'),('sienna', '#A0522D'),('brown', '#A52A2A'),('darkgray', '#A9A9A9'),('lightblue', '#ADD8E6'),('greenyellow', '#ADFF2F'),('paleturquoise', '#AFEEEE'),('lightsteelblue', '#B0C4DE'),('powderblue', '#B0E0E6'),('firebrick', '#B22222'),('darkgoldenrod', '#B8860B'),('mediumorchid', '#BA55D3'),('rosybrown', '#BC8F8F'),('darkkhaki', '#BDB76B'),('silver', '#C0C0C0'),('mediumvioletred', '#C71585'),('indianred', '#CD5C5C'),('peru', '#CD853F'),('chocolate', '#D2691E'),('tan', '#D2B48C'),('lightgray', '#D3D3D3'),('thistle', '#D8BFD8'),('orchid', '#DA70D6'),('goldenrod', '#DAA520'),('palevioletred', '#DB7093'),('crimson', '#DC143C'),('gainsboro', '#DCDCDC'),('plum', '#DDA0DD'),('burlywood', '#DEB887'),('lightcyan', '#E0FFFF'),('lavender', '#E6E6FA'),('darksalmon', '#E9967A'),('violet', '#EE82EE'),('palegoldenrod', '#EEE8AA'),('lightcoral', '#F08080'),('khaki', '#F0E68C'),('aliceblue', '#F0F8FF'),('honeydew', '#F0FFF0'),('azure', '#F0FFFF'),('wheat', '#F5DEB3'),('beige', '#F5F5DC'),('whitesmoke', '#F5F5F5'),('mintcream', '#F5FFFA'),('ghostwhite', '#F8F8FF'),('salmon', '#FA8072'),('sandybrown', '#FAA460'),('antiquewhite', '#FAEBD7'),('linen', '#FAF0E6'),('lightgoldenrodyellow', '#FAFAD2'),('oldlace', '#FDF5E6'),('red', '#FF0000'),('fuchsia', '#FF00FF'),('magenta', '#FF00FF'),('deeppink', '#FF1493'),('orangered', '#FF4500'),('tomato', '#FF6347'),('hotpink', '#FF69B4'),('coral', '#FF7F50'),('darkorange', '#FF8C00'),('lightsalmon', '#FFA07A'),('orange', '#FFA500'),('lightpink', '#FFB6C1'),('pink', '#FFC0CB'),('gold', '#FFD700'),('peachpuff', '#FFDAB9'),('navajowhite', '#FFDEAD'),('moccasin', '#FFE4B5'),('bisque', '#FFE4C4'),('mistyrose', '#FFE4E1'),('blanchedalmond', '#FFEBCD'),('papayawhip', '#FFEFD5'),('lavenderblush', '#FFF0F5'),('seashell', '#FFF5EE'),('cornsilk', '#FFF8DC'),('lemonchiffon', '#FFFACD'),('floralwhite', '#FFFAF0'),('snow', '#FFFAFA'),('yellow', '#FFFF00'),('lightyellow', '#FFFFE0'),('ivory', '#FFFFF0'),('white', '#FFFFFF')) tv = tk.Canvas(win, width = win.winfo_width(), height = win.winfo_height())tv.pack(side = "top") i = 0rows = 35w, h = 40, 10w1, h2, h3 = 100, 28, 22for ct in colorTuple: j = (i//rows) * 300 k = i * h3 - (i//rows) * h3 * rows x,y = j + w, k + h coord = x, y, j + w1, k + h2 tv.create_rectangle(coord,fill=ct[1]) tv.create_text((x+70,y+9),text=ct[1],anchor=tk.W,font=("宋体",9)) tv.create_text((x+120,y+9),text=ct[0],anchor=tk.W,font=("宋体",9)) i+=1 tv.update() for i in colorTuple: print(i[0],'\t' if len(i[0])>14 else '\t\t' if len(i[0])>6 else '\t\t\t',i[1])运行效果图:
这些颜色已经足够多了,但据说装了seaborn扩展的话xkcd_rgb包含的颜色数(有英文名称的)会有更多......
实例三:围棋盘
import tkinter as tkimport pyautogui as agwin = tk.Tk() X,Y=ag.size()W,H=800,800winPos = str(W)+"x"+str(H)+"+"winPos += str((X-W)//2)+"+"winPos += str((Y-H)//2)win.geometry(winPos)win.resizable(False, False)win.title('桌面分辨率:'+str(X)+"x"+str(Y)+' '*6+'窗口大小:'+str(W)+"x"+str(H))win.update() tv = tk.Canvas(win, width = win.winfo_width(), height = win.winfo_height())tv.pack(side = "top")for i in range(18): coord = 40, 40, 760, i*40 + 80 tv.create_rectangle(coord) coord = 40, 40, i*40 + 80, 760 tv.create_rectangle(coord) coord = 40, 40, 760, 760tv.create_rectangle(coord,width=2) x = (160,160,160,400,400,400,640,640,640)y = (160,400,640,160,400,640,160,400,640) for i in range(9): tv.create_oval(x[i]-2,y[i]-2,x[i]+2,y[i]+2,fill='black') tv.update()运行效果图:
上述就是小编为大家分享的Python编程tkinter库Canvas如何实现涂鸦颜色表及围棋盘了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
颜色
实例
运行
棋盘
分辨率
效果
效果图
桌面
编程
内容
参数
大小
宋体
就是
弓形
扇形
文字
更多
画布
分析
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手机版通达信支持扩展数据库吗
软件开发营销app
b s大型软件开发
ftp服务器创建文件夹失败
工业网络技术的就业方向
网络安全法QQ群等管理
pisa数据库有中文版吗
网络安全占比率
数据库可以进行精确模糊检索
林州医保服务器什么时间修好
软件开发合同免税吗
宏象网络安全儿童画
服务器连接两网络安全吗
一对一家教软件开发
求生之路2服务器图片公告
2018+网络安全+漏洞
中国网络安全法治建设之路
网络安全员需要掌握什么
9月20日是网络安全
远程管理服务器手机版
常州企业软件开发价格咨询
深圳神州物联网络技术有限公司
国家网络安全周 纪录片
软件开发团队百度知道
苏州京东方软件开发
网络技术基础题目答案
长沙网络技术公司排名
宝鸡市金台区网络安全
数据库生成二维码
rip 数据库 路由表