簡體   English   中英

如何將 Turtle 與 tkinter 結合使用

[英]How to combine Turtle with tkinter

So I've got tkinter code that when ran, opens up a new window with a square root calculator, when I try to get turtle in the same window as the square root calculator, 2 windows pop up

import tkinter as tk
from turtle import Turtle, Screen
root = tk.Tk()

canvas1 = tk.Canvas(root, width=400, height=300, relief='raised')
canvas1.pack()

label1 = tk.Label(root, text='Square root calculator')
label1.config(font=('helvetica', 14))
canvas1.create_window(200, 25, window=label1)

label2 = tk.Label(root, text='Enter number:')
label2.config(font=('helvetica', 10))
canvas1.create_window(200, 100, window=label2)

entry1 = tk.Entry(root)
canvas1.create_window(200, 140, window=entry1)



def sqr():
    x1 = entry1.get()

    label3 = tk.Label(root, text='The Square root of ' + x1 + ' is:', font=('helvetica', 10))
    canvas1.create_window(200, 210, window=label3)

    label4 = tk.Label(root, text=float(x1) ** 0.5, font=('helvetica', 10, 'bold'))
    canvas1.create_window(200, 230, window=label4)


button1 = tk.Button(text='Calculate square root', command=sqr, bg='brown', fg='white',
                    font=('helvetica', 9, 'bold'))
canvas1.create_window(200, 180, window=button1)
pamest = tk.Button(root, text="Quit", command=root.destroy)
pamest.pack(pady=20)

screen = Screen()
screen.setup(500,350)
screen.screensize(600,600)
turtle = Turtle()
turtle.up()


root.mainloop()


從海龜文檔部分開始,這些部分解釋了海龜的獨立嵌入式使用。 您正在嘗試在嵌入式情況下使用海龜,但正在使用獨立的 API。 我們可以按如下方式實現您要執行的操作:

import tkinter as tk
from turtle import RawTurtle, TurtleScreen

def sqr():
    x1 = entry1.get()

    label3 = tk.Label(root, text='The Square root of ' + x1 + ' is:', font=('helvetica', 10))
    canvas1.create_window(200, 210, window=label3)

    label4 = tk.Label(root, text=float(x1) ** 0.5, font=('helvetica', 10, 'bold'))
    canvas1.create_window(200, 230, window=label4)

root = tk.Tk()

canvas1 = tk.Canvas(root, width=400, height=600, relief='raised')
canvas1.pack()

tk.Button(root, text="Quit", command=root.destroy).pack(pady=20)

label1 = tk.Label(root, text='Square root calculator', font=('helvetica', 14))
canvas1.create_window(200, 25, window=label1)

label2 = tk.Label(root, text='Enter number:', font=('helvetica', 10))
canvas1.create_window(200, 100, window=label2)

entry1 = tk.Entry(root)
canvas1.create_window(200, 140, window=entry1)

button1 = tk.Button(text='Calculate square root', command=sqr, font=('helvetica', 9, 'bold'))
canvas1.create_window(200, 180, window=button1)

canvas2 = tk.Canvas(canvas1, width=400, height=300)
canvas1.create_window(203, 450, window=canvas2)

screen = TurtleScreen(canvas2)
screen.bgcolor('pink')

turtle = RawTurtle(screen)
turtle.circle(50)

screen.mainloop()

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM