turtle python tkinter_【案例】 什么?idle 中竟然有内置 turtle 样例?(paint)
案例介紹
我打算開(kāi)啟一個(gè)新的方向—— turtle 庫(kù)案例。
在我們下載安裝完畢 Python3 后,在搜索(查找)框中輸入 idle.exe,就能夠打開(kāi)系統(tǒng)內(nèi)置的 Python 開(kāi)發(fā)環(huán)境了。不知道有多少同學(xué)知道,其實(shí)在內(nèi)置的開(kāi)發(fā)環(huán)境中,已經(jīng)內(nèi)置了很多不錯(cuò)的 turtle 案例,對(duì)于想學(xué)習(xí) turtle 的同學(xué)是很不錯(cuò)的資源。今天我們來(lái)看看其中的一個(gè)案例——paint。
準(zhǔn)備工作
安裝 Python3 即可,打開(kāi) idle.exe,按照下面的步驟,點(diǎn)擊 start 就能夠看到內(nèi)置的樣例代碼了。
點(diǎn)擊下方 START 開(kāi)始運(yùn)行即可
細(xì)節(jié)設(shè)計(jì)
按順序變化顏色
colors = ["red", "green", "blue", "yellow"]
colors = colors[1:] + colors[:1]
上面這兩行代碼實(shí)現(xiàn)了對(duì) colors 列表中的元素輪流選擇的功能。第一行是 colors 的初始化,每執(zhí)行一次第二行代碼,colors 列表中的元素都會(huì)按照相對(duì)順序向后移動(dòng)一位,最后一個(gè)元素移動(dòng)到了第一位。
onscreenclick() 事件函數(shù)
onscreenclick(goto, 1)
onscreenclick(changecolor, 2)
onscreenclick(switchupdown, 3)
turtle 庫(kù)提供了 onscreenclick() 事件調(diào)用函數(shù),在這個(gè)樣例中,具體的定義如上面代碼所示,其中第一個(gè)參數(shù)是一個(gè)方法(函數(shù)名),第二個(gè)參數(shù)是鼠標(biāo)的鍵位(左鍵、中鍵、右鍵),goto 是 turtle 庫(kù)內(nèi)置的方法,changecolor 和 switchupdown 兩個(gè)函數(shù)是我們自己編寫(xiě)的兩個(gè)方法。每按下鼠標(biāo)左鍵,當(dāng)前的繪制起點(diǎn)就會(huì)移動(dòng)到新的坐標(biāo)。
每按下鼠標(biāo)中鍵,繪制顏色就會(huì)變化。
每按下鼠標(biāo)右鍵,會(huì)判斷當(dāng)前的筆是否已經(jīng)落下,如果落下那么就執(zhí)行 end_fill() 方法填充目前的區(qū)域,結(jié)束填充區(qū)域,然后抬起筆,否則落下筆,然后執(zhí)行 start_fill() 方法,準(zhǔn)備填充區(qū)域。
代碼匯總
# coding: utf-8
# !/usr/bin/python
"""@File : 小畫(huà)板.py@Author : jiaming@Modify Time: 2020/10/4 18:47@Contact : https://jiaming.blog.csdn.net/@微信公眾號(hào)答疑: codenough@Desciption : None"""
""" turtle-example-suite:?tdemo_paint.py?A simple event-driven paint program?- left mouse button moves turtle- middle mouse button changes color- right mouse button toogles betweem pen up(no line drawn when the turtle moves) andpen down (line is drawn). If pen up followsat least two pen-down moves, the polygon thatincludes the starting point is filled.-------------------------------------------Play around by clicking into the canvasusing all three mouse buttons.-------------------------------------------To exit press STOP button-------------------------------------------"""
?
from turtle import *
?
?
def switchupdown(x=0, y=0):
if pen()["pendown"]:
end_fill()
up()
else:
down()
begin_fill()
?
?
def changecolor(x=0, y=0):
global colors
colors = colors[1:] + colors[:1]
color(colors[0])
?
?
def main():
global colors
shape("circle")
resizemode("user")
shapesize(.5)
width(3)
colors = ["red", "green", "blue", "yellow"]
color(colors[0])
switchupdown()
onscreenclick(goto, 1)
onscreenclick(changecolor, 2)
onscreenclick(switchupdown, 3)
return "EVENTLOOP"
?
?
if __name__ == "__main__":
msg = main()
print(msg)
mainloop()
運(yùn)行結(jié)果
后記
以上就是我們這期的內(nèi)容了,如果有什么問(wèn)題私信我就好,下期我們將介紹內(nèi)置 turtle 案例中的其它案例。
總結(jié)
以上是生活随笔為你收集整理的turtle python tkinter_【案例】 什么?idle 中竟然有内置 turtle 样例?(paint)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 0分配不到地址_前端学习计算机网络——I
- 下一篇: websocket python爬虫_p