欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python小實例混合使用turtle和tkinter讓小海龜互動起來

 更新時間:2021年10月22日 16:21:21   作者:Hann Yang  
Tkinter模塊("Tk 接口")是Python的標(biāo)準(zhǔn)Tk GUI工具包的接口.Tk和Tkinter可以在大多數(shù)的Unix平臺下使用,同樣可以應(yīng)用在Windows和Macintosh系統(tǒng)里.Tk8.0的后續(xù)版本可以實現(xiàn)本地窗口風(fēng)格,并良好地運行在絕大多數(shù)平臺中

Turtle 窗口

請看下圖,turtle窗口圖標(biāo)是一片小葉子,估計它就是繼承自 tkinter 庫。

tkinter 窗口

參閱了一些資料,發(fā)現(xiàn) turtle 方法可直接在 tkinter 的畫布Canvas上操作:

源代碼

from tkinter import *
from turtle import RawTurtle
 
def circ():
    tu.penup()
    tu.home()
    tu.clear()
    tu.speed(0)
    [x,y,R] = et1.get().split(',')
    try:
        x = int(x.replace('(',''))
        y = int(y.replace(')',''))
        R = int(R.strip())
    except:
        x,y,R = 0,0,50  #輸入錯誤則賦予默認值
    
    tu.goto(x,y-R)
    tu.pendown()
    tu.circle(R)
    
def rect():
    tu.penup()
    tu.home()
    tu.clear()
    tu.speed(0)
    tu.color('red', 'yellow')
    tu.begin_fill()
    [d,rad] = et2.get().split(',')
    try:
        d = int(d)
        rad = int(rad)
    except:
        d,rad = 200,216  #輸入錯誤則賦予默認值
    tu.pendown()
    tu.back(d//5)
    while True:
        tu.forward(d)
        tu.left(rad)
        if abs(tu.pos()[0]+d//5)<0.1 and abs(tu.pos()[1])<0.1:
            break
    tu.end_fill()
 
def taiji():
    tu.penup()
    tu.home()
    tu.clear()
    tu.speed(0)
    d = et3.get()
    try:
        d = int(d)
    except:
        d = 120  #輸入錯誤則賦予默認值
    tu.hideturtle()
    tu.goto(d//2,-d)
    tu.pendown()
    tu.begin_fill()
    tu.color('black','black')
    tu.circle(d,extent=180)
    tu.circle(d//2,extent=180)
    tu.circle(-d//2,extent=180)
    tu.end_fill()
    tu.circle(-d,extent=180)
    tu.penup()
    tu.goto(d//2,-d//6*4)
    tu.pendown()
    tu.begin_fill()
    tu.fillcolor("black")
    tu.circle(d//5,extent=360)
    tu.end_fill()
    tu.penup()
    tu.goto(d//2,d//3)
    tu.pendown()
    tu.begin_fill()
    tu.fillcolor("white")
    tu.circle(d//5,extent=360)
    tu.end_fill()
    tu.penup()
 
def main():
    global tu,et1,et2,et3
    root = Tk()
    root.geometry('520x520+150+300')
    root.title('turtle在tkinter.Canvas上的操作')
    root.resizable(False, False)
    canvas = Canvas(root, width=640, height=400)
    canvas.pack()
 
    tu = RawTurtle(canvas)
    tu.hideturtle()
 
    et1 = Entry(root, width=12)
    et1.place(x = 30, y = 480)
    et1.insert(0,'(50,-20), 100')
    bt1 = Button(root,text=' 畫圓 ',command=circ)
    bt1.place(x = 60, y = 425)
 
    et2 = Entry(root, width=12)
    et2.place(x = 190, y = 480)
    et2.insert(0,'200, 216')
    bt2 = Button(root,text=' 多角星(或多邊形) ',command=rect)
    bt2.place(x = 180, y = 425)
    
    et3 = Entry(root, width=12)
    et3.place(x = 360, y = 480)
    et3.insert(0,'120')
    bt3 = Button(root,text=' 太極 ',command=taiji)
    bt3.place(x = 380, y = 425)
 
    root.mainloop()
 
 
if __name__ == '__main__':
 
    main()

turtle和tkinter混合使用

turtle和tkinter兩者搭配使用,使得 turtle 的畫圖參數(shù)可以由 tkinter 的控件當(dāng)場設(shè)置,這樣就實現(xiàn)了turtle小海龜?shù)默F(xiàn)場互動,運行效果見圖二。

三個Entry控件,分別設(shè)置:
  1. 圓心坐標(biāo)和圓的直徑;
  2. 多邊形的邊長和邊的轉(zhuǎn)動角度;
  3. 太極圖的外圓直徑。

(本篇完)

到此這篇關(guān)于Python小實例混合使用turtle和tkinter讓小海龜互動起來的文章就介紹到這了,更多相關(guān)Python turtle 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python實現(xiàn)人機對戰(zhàn)的五子棋游戲

    python實現(xiàn)人機對戰(zhàn)的五子棋游戲

    這篇文章主要為大家詳細介紹了python實現(xiàn)人機對戰(zhàn)的五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 教你如何編寫、保存與運行Python程序的方法

    教你如何編寫、保存與運行Python程序的方法

    這篇文章主要介紹了教你如何編寫、保存與運行Python程序的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python不帶重復(fù)的全排列代碼

    python不帶重復(fù)的全排列代碼

    輸入起始數(shù)字和結(jié)束數(shù)字將數(shù)組全排列,需要的朋友可以參考下
    2013-08-08
  • 用python構(gòu)建IP代理池詳解

    用python構(gòu)建IP代理池詳解

    大家好,本篇文章主要講的是用python構(gòu)建IP代理池詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • Python 將 QQ 好友頭像生成祝福語的實現(xiàn)代碼

    Python 將 QQ 好友頭像生成祝福語的實現(xiàn)代碼

    這篇文章主要介紹了用 Python 將 QQ 好友頭像生成祝福語的實現(xiàn)代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • Python如何實現(xiàn)的簡單購物車程序

    Python如何實現(xiàn)的簡單購物車程序

    這篇文章主要介紹了Python如何實現(xiàn)的簡單購物車程序,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-05-05
  • Python調(diào)用C/C++的方法解析

    Python調(diào)用C/C++的方法解析

    這篇文章主要介紹了Python調(diào)用C/C++的方法解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • python使用參數(shù)對嵌套字典進行取值的方法

    python使用參數(shù)對嵌套字典進行取值的方法

    這篇文章主要介紹了python使用參數(shù)對嵌套字典進行取值,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-04-04
  • python利用高階函數(shù)實現(xiàn)剪枝函數(shù)

    python利用高階函數(shù)實現(xiàn)剪枝函數(shù)

    這篇文章主要為大家詳細介紹了python利用高階函數(shù)實現(xiàn)剪枝函數(shù)的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Python中itertools的用法詳解

    Python中itertools的用法詳解

    循環(huán)器(iterator)是對象的容器,包含有多個對象。這篇文章主要介紹了python itertools用法,需要的朋友可以參考下
    2020-02-02

最新評論