Python graphics库详解


内容引自:https://blog.csdn.net/winycg/article/details/78066044?fps=1&locationNum=2

GraphWin对象常用方法

方法名称 方法含义
plot(x, y, color) 在窗口中(x,y)位置绘制像素。 颜色参数可选, 默认值为黑色。
plotPixel(x, y, Color) 在 “原 始 ” 位 置 (x,y)处 绘 制 像 素 , 忽 略setCoords()方法设置的坐标变换。
setBackground(color) 将窗口背景颜色设为指定颜色, 默认值为灰色。
close() 关闭屏幕上的窗口。
getMouse() 程序等待用户在窗口内点击鼠标, 返回值为点击处的位置, 并以Point对象返回。
setCoords(xll, yll, xur,yur) 设置窗口的坐标系。 左下是(xll,yll), 右上角是(xur,yur)。 所有后面的绘制都以这个坐标系做参照(plotPexil除外)



图形对象通用方法

方法名称 方法含义
setFill(color) 设置对象内部填充颜色。
setOutline(color) 设置对象边框颜色。
setWidth(pixels) 设置对象的宽度(Point类不起用)
draw(aGraphWin) 在指定的窗口中绘制对象。
undraw() 从窗口中删除该对象。如该对象没有在窗口中画出将会报错。
move(dx,dy) 将对象沿x轴和y轴分别移动dxdy单位长度。
clone() 返回该对象的副本。



Point对象方法

方法名称 方法含义
Point(x,y) 以指定坐标的值(x, y)构造一点
getX() 返回该点的x坐标值
getY() 返回该点的y



Line对象方法

方法名称 方法含义
Line(point1, point2) 构造一个从点point1到点point2的线段
setArrow(string) 设置线段的箭头样式。箭头可以绘制在左端,右端,或者两端都有string
数值为’first’, ’last’, ’both’,’none’
认值为’none’
getCenter() 返回线段中点的坐标值。
getP1(), getP2() 返回线段相应端点的坐标值。



Circle对象方法:

方法名称 方法含义
Circle(centerPoint,radius) 根据给定圆心和半径构建圆
getCenter() 返回圆心的值
getRadius() 返回圆的半径长度
getP1(), getP2() 返回值为该圆边框对应点, 对应点指的是该圆外接正方形的对角点。



Rectangle对象方法

方法名称 方法含义
Rectangle(point1, point2) point1point2为对角点创建一个矩形。
getCenter() 返回矩形的中心点的克隆值。
getP1(), getP2() 返回构造矩形的对角点的克隆



Oval对象方法

方法名称 方法含义
Oval(point1, point2) 在点point1point2指定的边界框中创建一个椭圆。
getCenter() 返回椭圆的中心点的坐标值
getP1(), getP2() 返回构造椭圆的对角点的坐标值



Polygon 对象方法

方法名称 方法含义
Polygon(point1, point2,point3, ...) 根据给定的顶点构造一个多边形。 也可以只用一个顶点列表作为参数
getPoints() 返回构造多边形的顶点值的列表



Text 对象方法

GraphWin对象常用方法

方法名称 方法含义
plot(x, y, color) 在窗口中(x,y)位置绘制像素。 颜色参数可选, 默认值为黑色。
plotPixel(x, y, Color) 在 “原 始 ” 位 置 (x,y)处 绘 制 像 素 , 忽 略setCoords()方法设置的坐标变换。
setBackground(color) 将窗口背景颜色设为指定颜色, 默认值为灰色。
close() 关闭屏幕上的窗口。
getMouse() 程序等待用户在窗口内点击鼠标, 返回值为点击处的位置, 并以Point对象返回。
setCoords(xll, yll, xur,yur) 设置窗口的坐标系。 左下是(xll,yll), 右上角是(xur,yur)。 所有后面的绘制都以这个坐标系做参照(plotPexil除外)


图形对象通用方法
方法名称 方法含义
setFill(color) 设置对象内部填充颜色。
setOutline(color) 设置对象边框颜色。
setWidth(pixels) 设置对象的宽度(Point类不起用)
draw(aGraphWin) 在指定的窗口中绘制对象。
undraw() 从窗口中删除该对象。如该对象没有在窗口中画出将会报错。
move(dx,dy) 将对象沿x轴和y轴分别移动dxdy单位长度。
clone() 返回该对象的副本。


Point对象方法
方法名称 方法含义
Point(x,y) 以指定坐标的值(x, y)构造一点
getX() 返回该点的x坐标值
getY() 返回该点的y


Line对象方法
方法名称 方法含义
Line(point1, point2) 构造一个从点point1到点point2的线段
setArrow(string) 设置线段的箭头样式。箭头可以绘制在左端,右端,或者两端都有string
数值为’first’, ’last’, ’both’,’none’
认值为’none’
getCenter() 返回线段中点的坐标值。
getP1(), getP2() 返回线段相应端点的坐标值。


Circle对象方法:
方法名称 方法含义
Circle(centerPoint,radius) 根据给定圆心和半径构建圆
getCenter() 返回圆心的值
getRadius() 返回圆的半径长度
getP1(), getP2() 返回值为该圆边框对应点, 对应点指的是该圆外接正方形的对角点。


Rectangle对象方法
方法名称 方法含义
Rectangle(point1, point2) point1point2为对角点创建一个矩形。
getCenter() 返回矩形的中心点的克隆值。
getP1(), getP2() 返回构造矩形的对角点的克隆


Oval对象方法
方法名称 方法含义
Oval(point1, point2) 在点point1point2指定的边界框中创建一个椭圆。
getCenter() 返回椭圆的中心点的坐标值
getP1(), getP2() 返回构造椭圆的对角点的坐标值


Polygon 对象方法
方法名称 方法含义
Polygon(point1, point2,point3, ...) 根据给定的顶点构造一个多边形。 也可以只用一个顶点列表作为参数
getPoints() 返回构造多边形的顶点值的列表


Text 对象方法
 
 
方法名称 方法含义
Text(anchorPoint, string) anchorPoint点的位置为中心, 构建了一个内容为string的文本对象。
setText(string) 设置文本对象的内容
getText() 返回当前文本内容。
getAnchor() 返回文本显示中间位置点anchor的坐标值。
setFace(family) 设置文本字体。 family可选值为:’helvetica’,’courier’, ’times
roman’, 以及 ’arial’.
setSize(point) 设置字体大小为给定点point的大小。 合法数值为5-36
setStyle(style) 设置字体的风格。 可选值为’normal’, ’bold’, ’italic’,以及’bold italic’
setTextColor(color)

设置文本颜色。 与setFill效果相同。

 

 
 
color_rgb(red,green,blue)函数
 设定颜色数值获得颜色
 三个参数为0-255范围内的整数
 返回一个字符串
color_rgb(255,0,0) 亮红色,
color_rgb(130,0,130) 中度洋红色。 
 
graphics库使用 
实例1:
 1 #Graphics库应用
 2 
 3 from graphics import *
 4  
 5 def main():
 6     #创建窗口对象,默认为200*200px,(0,0)表示屏幕左上角
 7     win=GraphWin("Graphics库应用",700,200)
 8  
 9  
10     #画点
11     p1=Point(100,100)
12     p1.draw(win)
13  
14     #画圆,以p1为圆心,半径为100
15     circ=Circle(p1,90)
16     circ.draw(win)
17     circ.setOutline("red")#外围轮廓颜色
18     circ.setFill("yellow")#填充颜色
19  
20     #画线
21     line=Line(Point(650,100),Point(250,100))
22     line.draw(win)
23  
24     #在p1点上显示文字
25     message=Text(p1,"圆心")
26     message.draw(win)
27 
28     
29 if __name__=="__main__":
30     main()

运行结果:

用Entry求和
实例2:
 1 #用Entry求和实例
 2 from math import *
 3 from graphics import *
 4  
 5 def main():
 6     win=GraphWin("求和",300,300)
 7     
 8     Text(Point(100,50),"数1:").draw(win)
 9     input1=Entry(Point(150,50),5)
10     input1.setText(0.0)
11     input1.draw(win)
12     Text(Point(100, 100), "数2:").draw(win)
13     input2=Entry(Point(150,100),5)
14     input2.setText(0.0)
15     input2.draw(win)
16     Text(Point(80, 150), "两数之和:").draw(win)
17     input3 = Entry(Point(150, 150), 5)
18     input3.draw(win)
19     
20     #点击屏幕求和,求和运算必须是点击鼠标之后,否则参加计算的是默认值
21   
22     win.getMouse()
23     sum=eval(input1.getText())+eval(input2.getText())
24     input3.setText(sum)
25     win.getMouse()
26     win.close()
27  
28 if __name__=='__main__':
29     main()

运行结果:

 

 

 

 
 
 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM