Python语言程序设计(第二版) 课件 7 Python图形绘制.pptx
Python图形绘制
图形绘制Python有大量的图形库,包括Python自带的标准图形库,如tkinter模块中的画布绘图、在Tkinter图形库基础上建立的graphics模块,还有种类繁多的第三方图形库,如wxPython、PyGTK、PyQt、PySide等,通过它们可以进行图形绘制操作。此外,Python内置的turtle绘图模块也具有基本的绘图功能。
Tkinter图形库概述Tkinter(Tkinterface,Tk接口)图形库是Tk图形用户界面工具包的Python接口。Tk是一种流行的跨平台图形用户界面(GraphicalUserInterface,GUI)开发工具。Tkinter图形库通过定义一些类和函数,实现了一个在Python中使用Tk的编程接口。可以简单地说,Tkinter图形库就是Python版的Tk。
Tkinter图形库概述Tkinter图形库由_tkinter、tkinter和tkinter.constants等若干模块组成。其中,_tkinter是二进制扩展模块,tkinter是主模块,tkinterconstants模块定义了许多常量。_tkinter模块提供了对Tk的低级接口。低级接口并不会被应用级程序员直接使用,通常是一个共享库或DLL,但是在一些情况下,它也可被Python解释器静态链接。tkinter是最重要的模块,导入tkinter模块时,会自动导入tkinter.constants模块。因此,图形处理首先需要做的是导入tkinter模块,就像导入math模块以使用其中的数学函数、导入string模块以使用其中的字符串操作函数一样。
Tkinter图形库概述导入tkinter模块一般采用以下两种方法。importtkinterfromtkinterimport*
主窗口的创建主窗口也称为根窗口,这是一个顶层窗口,所有图形都是在这个窗口中绘制的。在导入tkinter模块之后,接下来就要使用Tk类的无参构造函数Tk()创建主窗口。主窗口是一个对象,其创建格式为:窗口对象名=Tk()
主窗口的创建例如,下列语句创建主窗口w,这时可以在屏幕上看到一个主窗口。w=Tk()主窗口有自己的属性,如宽度(widh)、高度(height)、背景颜色(bg或background)等,也有自己的方法。主窗口的默认宽度和高度都为200像素、背景颜色颜色为浅灰色,下列语句设置w主窗口的宽度、高度和背景颜色属性。w[width]=300w[height]=200w[bg]=red
主窗口的创建主窗口默认的窗口标题是tk,可以通过调用主窗口对象的title()方法来设置窗口标题。下列语句设置w主窗口的标题为“tkinter主窗口”。w.title(tkinter主窗口)
画布对象的创建画布(canvas)就是用来进行绘图的区域,tkinter模块的绘图操作都是通过画布进行的。画布实际上是一个对象,可以在画布上绘制各种图形、标注文本。画布对象包含一些属性,如画布的高度、宽度、背景色等,也包含一些方法,如在画布上创建图形、删除或移动图形等。
画布对象的创建创建画布对象语句的格式如下:画布对象名=canvas(窗口对象名,属性名=属性值,......)该语句创建一个画布对象,并对该对象的属性进行设置。语句中的Canvas代表tkinter模块提供的Canvas类,通过Canvas类的构造函数Canvas创建画布对象。“窗口对象名”表示画布所在的窗口,“属性名=属性值”用于设置画布对象的属性。
画布对象的创建画布对象的常用属性有画布高度(height)、画布宽度(width)和画布背景色(bg或background)等,需要在创建画布对象时进行设置。创建画布对象时如果不设置这些属性的值,则各属性取各自的默认值,如bg的默认值为浅灰色。下面的语句在主窗口w中创建一个宽度为300像素、高度为200像素、背景为白色的画布对象,并将画布对象命名为c。c=Canvas(w,width=300,height=200,bg=white)c.pack()
画布对象的坐标系为了在绘图时指定图形的绘制位置,tkinter模块为画布建立了坐标系。画布坐标系以画布左上角为原点,从原点水平向右为x轴,从原点垂直向下为y轴。如果画布坐标以整数给出,则度量单位是像素,例如左上角的坐标为原点(0,0),300×200画布的右下角坐标为(299,199)。像素是最基本、最常用的长度单位。tkinter模块也支持以字符串形式给出其他度量单位的长度值,例如5c表示5厘米、50m表示50毫米、2i表示2英寸等。
画布对象绘图方法画布对象提供了各种方法,利用这些方法可以在画布上绘制各种图形。绘制图形前,先要导入tkinter模块、创建主窗口