graphics库的使用
生活随笔
收集整理的這篇文章主要介紹了
graphics库的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
graphics庫的基礎使用
- 引用庫:
- 創建畫布:
- 關閉畫布:
- 點
- 創建點的實例:
- 申請繪制:
- 點坐標的獲取:
- 線
- 創建線的實例:
- 圓
- 創建圓的實例:
- 文本
- 在畫布中創建文本實例:
- 修改文本內容:
- 獲取文本內容:
- 設置文本大小:
- 設置文本顏色:
- 設置文本類型:
- 多邊形
- 創建矩形實例:
- 創建多邊形實例:
- 申請繪制:
- 繪制實例:
- 設置線條顏色:
- 設置線條粗細:
- 設置填充色
- 鼠標的獲取:
- 文本輸入框
- 代碼
- 運行結果
- 小練習
- 目標:
- 代碼:
- 運行結果:
引用庫:
from graphics import *創建畫布:
win = GraphWin(<畫布名稱>,<畫布長度>,<畫布寬度>) #(可以更簡潔的創建畫布)關閉畫布:
win.close() #(必須代碼,切記)在畫布上,左上角坐標為(0,0)
一個實例只能夠在畫布上繪制一次,多次在不同地方繪制,只能顯示最近一次的繪制結果(一一對應)
點
創建點的實例:
p = Point(x,y) #(x,y為坐標)申請繪制:
p.draw(win)點坐標的獲取:
x_local = p.getX()#獲取橫坐標 y_local = p.getY()#獲取縱坐標線
創建線的實例:
l = Line(Point(x,y),Point(x,y)) #繪制兩點間的連線圓
創建圓的實例:
<實例名稱> = Circle(Point(x,y),R) #Point(x,y)為圓心坐標,R為圓的半徑文本
在畫布中創建文本實例:
txt = Text(Point(x,y),<文本內容>) #Point()為文本中心點的坐標修改文本內容:
<實例名稱>.setText(<文本內容>)獲取文本內容:
mes = <實例名稱>.getText()設置文本大小:
<實例名稱>.setSize(<size>)設置文本顏色:
<實例名稱>.setTextColor(<color>)設置文本類型:
<實例名稱>.setStyle(<style>)多邊形
創建矩形實例:
rec = Rectangle(p1,p2) #p1為左上角頂點的坐標,p2為右下角頂點的坐標創建多邊形實例:
polygon = Polygon(p1,p2,p3,.......) #在Polygon后的點可以使用單個的點坐標,也可以使用坐標的集合申請繪制:
繪制實例:
<實例名稱>.draw(win)設置線條顏色:
<實例名稱>.setOutline(<color>)設置線條粗細:
<實例名稱>.setWidth(<width>)設置填充色
<實例名稱>.setFill(<color>)鼠標的獲取:
gm = win.getMouse() #窗口會將點擊的坐標值返回到gm中文本輸入框
mes = Entry(Point(x,y),width) #Point為輸入框中心坐標,width為輸入框長度 mes.draw(win)實例:
代碼
首先引用庫,創建畫布:
from graphics import * win = GraphWin('run',300,300)#創建一個長寬為300像素的畫布然后建立一個輸入框的實例并在畫布中展示出來:
mes = Entry(Point(150,150),15)#創建輸入框實例 mes.draw(win)#在畫布中顯示輸入框 win.getMouse()#點擊畫布執行下一步通過getText()方法來獲取輸入框內的文本,然后將文本的內容展示在畫布上:
txt = mes.getText()#獲取輸入框內的內容 mes2 = Text(Point(150,200),txt)#創建文本實例 mes2.draw(win)#在畫布上展示文本 win.getMouse()#點擊畫布執行下一步在代碼的最后,要記得關閉畫布哦:
win.close()如果忘記使用這條代碼,可以手動關閉畫布,或者使用調試系統,輸入win.close()同樣可以強制關閉畫布。
運行結果
在輸入框內隨便輸入內容,再點擊畫布其他位置繼續執行代碼:
再次點擊畫布,代碼結束,畫布關閉。
是不是很簡單?!
最后,再分享一個小代碼,可以自己嘗試寫一寫,練一練:
小練習
目標:
通過鼠標點擊獲取坐標,在鼠標點擊處繪制圖形:
代碼:
引用庫,創建畫布(別說我啰嗦,這是必備的!)
from graphics import * shape = [500,500]#設置屏幕的大小 win = GraphWin('點擊畫愛心',shape[0],shape[1])#創建畫布設置退出按鈕的各個頂點坐標:
p_1 = Point(shape[0]/2-35,shape[1]-45) p_2 = Point(shape[0]/2+35,shape[1]-45) p_3 = Point(shape[0]/2+35,shape[1]-5) p_4 = Point(shape[0]/2-35,shape[1]-5) exit_bu = [p_1,p_2,p_3,p_4]在畫布上繪制出退出按鈕,但是剛開始的按鈕并沒有任何功能。
#在畫布上繪制退出按鈕 rec = Polygon(*exit_bu)#創建多邊形,也可以使用矩形 txt = Text(Point(shape[0]/2,shape[1]-25),'退出') txt.setSize(15)#設置文本的大小 txt.draw(win) rec.draw(win)然后,設置循環,通過win.getMouse()方法來獲取鼠標點擊時的坐標,win.getMouse()的返回值是一個點,Point()類型,可以使用getX(),getY()來獲取點的橫縱坐標。
while True:p = win.getMouse()#獲取鼠標點擊畫布時的坐標px = p.getX()#獲取X坐標py = p.getY()#獲取Y坐標draw_p = [Point(px,py),Point(px+10,py-10),Point(px+20,py),Point(px,py+20),Point(px-20,py),Point(px-10,py-10)]#將需要繪制圖形的點集合在一起,這里是一個簡陋的?po = Polygon(*draw_p)#使用多邊形的繪制方法來繪制我們所需圖形po.setFill('red')#設置圖形填充色po.setOutline('white')#設置圖形線條的顏色po.draw(win)在我們程序可以得到鼠標點擊時的坐標后,我們就可以來實現退出按鈕的功能,接下來就開始設置按鈕的作用:結束程序。
#設置退出功能能if((shape[0]/2+35)>px>(shape[0]/2-35))and((shape[1]-5)>py>(shape[1]-45)):#當鼠標點擊在按鈕內部時,退出程序break關閉畫布
#win.getMouse() win.close() print('感謝你的使用!')運行結果:
代碼部分就那么多了,接下來展示代碼運行結果:
以上就是本次分享的全部內容,感謝各位的觀看!
總結
以上是生活随笔為你收集整理的graphics库的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pug跳转到另一个pug_使用Pug减少
- 下一篇: java monitor