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