graphics.py是John Zelle为”Python Programming: An Introduction to Computer Science”这本书编写的一个基于TkInter的简易Python图形库,非常简单易用,其官方网站

首先需要从这里下载graphics.py文件,然后import该文件就可以使用了。可以参考官方参考文档Graphics Reference。以下代码就是一个简单的graphics小程序:

1
2
3
4
5
6
7
8
from graphics import *
def main():
win = GraphWin("My Circle", 100, 100)
c = Circle(Point(50,50), 10)
c.draw(win)
win.getMouse() # pause for click in window
win.close()
main()

该程序会生成一个名为”My Circle”的窗口,并且添加了一个圆形Circle对象。getMouse()为获取鼠标点击事件的方法,可以让我们停留看到生成的窗口的样子,如果没有这句窗口会一闪而过。

GraphWin对象

GraphWin对象为图形界面的主控窗口,各种图形控件都需要添加在这个窗口对象上。其构造函数为:

1
GraphWin(title, width, height)

getMouse与checkMouse

窗口的getMouse()方法与checkMouse()方法均为获取鼠标在窗口对象的点击事件,两者不同的是getMouse只有在获取到鼠标的点击事件后才会进行下一步操作,而checkMouse只是检查,不会等待事件发生。同理,getKey()checkKey()作用于键盘事件。

Graphics对象

Graphics对象包含了Point, Line, Circle, Oval, Rectangle, Polygon, Text这几种对象,下面介绍这几种通用的几个方法。

draw(aGraphWin)

将控件添加到窗口的方法,aGraphWin为窗口对象名称。

move(dx,dy)

将Graphics对象向(dx,dy)方向移动。

setFill(color)

将对象填充为某一颜色,如:

1
someObject.setFill("red")

为填充为红色。其中color可以由RGB直接定义,需要调用color_rgb(red, green, blue)函数,如:

1
someObject.setFill(color_rgb(130, 0, 130))

Point对象

点对象,构造函数为:Point(x,y)

getX(), getY():获得x,y坐标。

Line对象

线段对象,构造函数为:Line(point1, point2)

getCenter():获得线段中点,返回Point对象

getP1(), getP2():获得两个端点,返回Point对象

Circle对象

圆形对象,构造函数为:Circle(centerPoint, radius)

getCenter():获得圆心,返回Point对象

getRadius():获得圆半径

Rectangle对象

矩形对象,构造函数为Rectangle(point1, point2)

getCenter():获得矩形中心点,返回Point对象

Text对象

文本对象,构造函数为:Text(anchorPoint, textString)

setText(string):设定文本

getText():获取文本

小结

graphics.py很简单呢,这里列了常用的一些对象,详细的还是翻文档吧:官方参考文档Graphics Reference