Python基础入门学习笔记 071 GUI的终极选择:Tkinter8


Canvas(画布)组件

一个可以让你随心所欲绘制界面的组件。通常用于显示和编辑图形,可以用它来绘制直线、图形、多边形,甚至是绘制其他组件。

实例1:

1 fr tkinter import * 2 root = Tk() 3 #创建canvas对象框,设置其宽度、高度与背景色 4 w = Canvas(root,width=200,height=100,background="black") 5 pack() 6 7 #画一条黄色的线 8 create_line(0,50,200,50,fill="yellow") 9 #画一条红色的竖线(虚线) 10 create_line(100,0,100,100,fill="red") 11 #中间画一个蓝色的矩形 12 create_rectangle(50,25,150,75,fill="blue") 13 14 mainloop()

实例2:

1 fr tkinter import * 2 root = Tk() 3 #创建canvas对象框,设置其宽度、高度与背景色 4 w = Canvas(root,width=200,height=100,background="black") 5 pack() 6 7 #画一条黄色的线(参数为其x、y轴坐标) 8 line1 = create_line(0,50,200,50,fill="yellow") 9 #画一条红色的竖线(虚线) 10 line2 = create_line(100,0,100,100,fill="red") 11 #中间画一个蓝色的矩形 12 rect1 = create_rectangle(50,25,150,75,fill="blue") 13 14 coords(line1,0,25,200,25)#将line1移动到新的坐标 15 itemconfig(rect1,fill="red")#重新设置矩形的填充色为红色 16 delete(line2)#删除线2 17 18 #创建一个按钮,按下时删除所有图形 19 Button(root,text="删除全部",cmand=(lambda x=ALL:delete(x))).pack() 20 21 mainloop()

实例3:在Canvas上显示文本

1 fr tkinter import * 2 root = Tk() 3 #创建canvas对象框,设置其宽度、高度与背景色 4 w = Canvas(root,width=200,height=100,background="black") 5 pack() 6 7 #画一条绿色的斜线(参数为其x、y轴坐标),宽度为三个像素点 8 line1 = create_line(0,0,200,100,fill="green",width=3) 9 #画一条绿色的斜线 10 line2 = create_line(200,0,0,100,fill="green",width=3) 11 #中间画两个矩形 12 rect1 = create_rectangle(40,20,160,80,fill="blue") 13 rect2 = create_rectangle(60,30,140,70,fill="yellow") 14 #在矩形正中(默认)显示文本,坐标为文本正中坐标 15 create_text(100,50,text="Hadley") 16 17 #创建一个按钮,按下时删除所有图形 18 Button(root,text="删除全部",cmand=(lambda x=ALL:delete(x))).pack() 19 20 mainloop()

实例4:绘制椭圆

1 fr tkinter import * 2 root = Tk() 3 #创建canvas对象框,设置其宽度、高度与背景色 4 w = Canvas(root,width=200,height=100,background="white") 5 pack() 6 7 #绘制一个虚线的矩形 8 create_rectangle(40,20,160,80,dash=(4,4)) 9 #绘制椭圆,粉色填充 10 create_oval(40,20,160,80,fill="pink") 11 #在矩形正中(默认)显示文本,坐标为文本正中坐标 12 create_text(100,50,text="Hadley") 13 14 mainloop()

实例5:绘制圆形

1 fr tkinter import * 2 root = Tk() 3 #创建canvas对象框,设置其宽度、高度与背景色 4 w = Canvas(root,width=200,height=100,background="white") 5 pack() 6 7 #绘制一个虚线的矩形 8 create_rectangle(40,20,160,80,dash=(4,4)) 9 #绘制圆形,粉色填充 10 #create_oval(40,20,160,80,fill="pink") 11 create_oval(70,20,130,80,fill="pink") 12 #在矩形正中(默认)显示文本,坐标为文本正中坐标 13 create_text(100,50,text="Hadley") 14 15 mainloop()

实例6:绘制多边形

1 fr tkinter import * 2 import math as m 3 4 root = Tk() 5 w=Canvas(root,width=200,height=150,background="red") 6 pack() 7 center_x = 100 8 center_y = 80 9 r = 70 10 points = [ 11 #左上角A 12 center_x int(r*m.sin(2*m.pi/5)), 13 center_y int(r*mos(2*m.pi/5)), 14 #右上角C 15 center_x + int(r*m.sin(2*m.pi/5)), 16 center_y int(r*mos(2*m.pi/5)), 17 #左下角E 18 center_x int(r*m.sin(m.pi/5)), 19 center_y + int(r*mos(m.pi/5)), 20 #顶点D 21 center_x, 22 center_y r, 23 #右下角B 24 center_x + int(r*m.sin(m.pi/5)), 25 center_y + int(r*mos(m.pi/5)), 26 ] 27 #创建多边形方法,会自动按ACEDBA的形式连线,如果构成闭环,则会自动填充 28 create_polygon(points,outline="green",fill="yellow") 29 30 create_text(100,80,text="Hadley") 31 32 mainloop()

实例7:

1 fr tkinter import * 2 3 root = Tk() 4 w=Canvas(root,width=,height=200,background="white") 5 pack() 6 7 def paint(event):#画小圆 8 x1,y1 = (event.x 1),(event.y 1) 9 x2,y2 = (event.x + 1),(event.y +1) 10 create_oval(x1,y1,x2,y2,fill="red") 11 12 bind("<B1 Motion>",paint)#画布与鼠标进行绑定 13 Label(root,text="按住鼠标左键并移动,开始绘制你的理想蓝图吧。。。").pack(side=BOTT) 14 15 mainloop()



上一篇:VisionPro 软件介绍和基本使用

下一篇:VisionPro 物体长度测量


Python
Copyright © 2002-2019 k262电脑网 www.k262.cn 皖ICP备2020016292号
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!QQ:251442993 热门搜索 网站地图