日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

graphics库的使用

發(fā)布時(shí)間:2023/12/18 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 graphics库的使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。