turtle python tkinter_【案例】 什么?idle 中竟然有内置 turtle 样例?(paint)
案例介紹
我打算開啟一個新的方向—— turtle 庫案例。
在我們下載安裝完畢 Python3 后,在搜索(查找)框中輸入 idle.exe,就能夠打開系統內置的 Python 開發環境了。不知道有多少同學知道,其實在內置的開發環境中,已經內置了很多不錯的 turtle 案例,對于想學習 turtle 的同學是很不錯的資源。今天我們來看看其中的一個案例——paint。
準備工作
安裝 Python3 即可,打開 idle.exe,按照下面的步驟,點擊 start 就能夠看到內置的樣例代碼了。
點擊下方 START 開始運行即可
細節設計
按順序變化顏色
colors = ["red", "green", "blue", "yellow"]
colors = colors[1:] + colors[:1]
上面這兩行代碼實現了對 colors 列表中的元素輪流選擇的功能。第一行是 colors 的初始化,每執行一次第二行代碼,colors 列表中的元素都會按照相對順序向后移動一位,最后一個元素移動到了第一位。
onscreenclick() 事件函數
onscreenclick(goto, 1)
onscreenclick(changecolor, 2)
onscreenclick(switchupdown, 3)
turtle 庫提供了 onscreenclick() 事件調用函數,在這個樣例中,具體的定義如上面代碼所示,其中第一個參數是一個方法(函數名),第二個參數是鼠標的鍵位(左鍵、中鍵、右鍵),goto 是 turtle 庫內置的方法,changecolor 和 switchupdown 兩個函數是我們自己編寫的兩個方法。每按下鼠標左鍵,當前的繪制起點就會移動到新的坐標。
每按下鼠標中鍵,繪制顏色就會變化。
每按下鼠標右鍵,會判斷當前的筆是否已經落下,如果落下那么就執行 end_fill() 方法填充目前的區域,結束填充區域,然后抬起筆,否則落下筆,然后執行 start_fill() 方法,準備填充區域。
代碼匯總
# coding: utf-8
# !/usr/bin/python
"""@File : 小畫板.py@Author : jiaming@Modify Time: 2020/10/4 18:47@Contact : https://jiaming.blog.csdn.net/@微信公眾號答疑: 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()
運行結果
后記
以上就是我們這期的內容了,如果有什么問題私信我就好,下期我們將介紹內置 turtle 案例中的其它案例。
總結
以上是生活随笔為你收集整理的turtle python tkinter_【案例】 什么?idle 中竟然有内置 turtle 样例?(paint)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 0分配不到地址_前端学习计算机网络——I
- 下一篇: python一行行写文件_python一