Tkinter图形绘制相关知识(一)

一.Canvas图形绘制技术
Canvas为Tkinter提供了绘图功能,其提供的图形绘制函数可绘制线性,圆形,椭圆,多边形,图片等。
1.Canvas画布组件
Canvas(画布)是一个长方形的区域,用于图形绘制或复杂的图形界面布局。用户可以在画布上绘制图形,文字,放置各种组件和框架。
Canvas对象创建方法:Canvas对象 = Canvas(窗口对象,选项,···)
Tkinter图形绘制相关知识(一)_第1张图片 显示Canvas对象的方法如下:
Canvas对象.pack()

eg:创建一个背景为白色,宽带为300,高度为120的Canvas画布的代码:

	from tkinter import *
	root = Tk()
	cv = Canvas(root, bg='white', width=300, height=120)
	cv.create_line(10, 10, 100, 80, width=2, dash=7)       #  绘制直线
	cv.pack()                                                                     #  显示画布
    root.mainloop()

2.Canvas上的图形对象
(1)绘制图形对象:(常用绘制函数)
create_arc():绘制圆弧
create_line():绘制直线
create_bitmap():绘制位图
create_image():绘制位图图像
create_oval():绘制椭圆
create_polygon():绘制多边形
create_window():绘制子窗口
create_text():创建一个文字对象
(Canvas上的每个绘制对象都有一个标识id(整数),使用绘制函数创建绘制对象时,返回绘制对象的id:
eg:
id1 = cv.create_line(10, 10, 100, 80, width=2, dash=7) # 绘制直线
)

(2)tags设置图形对象标记:
eg:

rt = cv.create_rectangle(10, 10, 110, 110, tags='r1')  #  指定矩形对象rt具有一个标记r1)
rt = cv.create_rectangle(10, 10, 110, 110, tags = ('r1','r2','r3'))  #  指定矩形对象rt具有三个标记r1, r2, r3
指定标记后,使用find_withtag()方法可以获取指定tag的图形对象,然后设置图形对象的属性
find_withtag()方法的语法如下:
	Canvas对象.find_withtag(tag名)
		find_withtag()方法返回一个图形对象数组,其中包含所以具有tag名的图形对象
使用itemconfig()方法可以设置图形对象的属性,语法如下:
	Canvas对象.itemconfig(图形对象,属性1 = 值1,属性2 = 值2,···)
eg:使用属性tags设置图形对象标记的示例
	    from tkinter import *
		root = Tk()
		root = Tk()
		#  创建一个Canvas, 设置其背景色为白色
		cv = Canvas(root, bg='white', width=200, height=200)
		#  使用tags指定给第一个矩形指定三个tag
		rt = cv.create_rectangle(10, 10, 10, 110, tags = ('r1','r2','r3'))
		cv.pack()
		cv.create_rectangle(20, 20, 80, 80, tags='r3') #  使用tags为第二个矩形指定一个tag
		#  将所有与tag('r3')绑定的item边框颜色设置为蓝色
		for item in cv.find_withtag('r3'):
			cv.itemconfig(item, outline='blue')
		root.mainloop()

你可能感兴趣的:(canvas,python)