[英]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.