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