【发布时间】:2020-11-22 16:06:34
【问题描述】:
我正在尝试从 GUI 打开一个 Turtle 窗口,以通过单击鼠标选择图像上的位置。然后将 x 和 y 坐标作为 GUI 的输入返回。
这是一个最小的工作示例:
from tkinter import *
from tkinter import font as tkFont
import turtle
xclick = 0
yclick = 0
def callback3():
getcoordinates()
def getcoordinates():
screen = turtle.Screen()
screen.setup(400, 400)
screen.bgpic("stunden.gif")
screen.onscreenclick(modifyglobalvariables)
def modifyglobalvariables(rawx,rawy):
global xclick
global yclick
xclick = int(rawx//1)
yclick = int(rawy//1)
print(xclick)
print(yclick)
turtle.bye()
root = Tk()
helv30 = tkFont.Font(family='Helvetica', size=30)
button1 = Button(root, text = "1", width=3, font=helv30, borderwidth=0, command=callback3)
button1.grid(row=0, column=0, padx=5, pady=0)
root.mainloop()
然后出现错误image "pyimage2" doesn't exist。我发现它与Tk 的两个实例有关,因为有根和乌龟窗口,我应该用Toplevel() 解决它。然而,经过数小时的研究和尝试和错误,我仍然无法提出正确的解决方案来使我的代码正常工作。非常感谢任何帮助。
【问题讨论】:
-
请注意您错误地标记了您的问题,它应该是“tkinter”而不是“tinker”。无论如何,我的建议是不要使用
turtle来执行此操作。充其量它会很尴尬,因为该模块使用tkinter它的实现 - 特别是在这种情况下,因为您可以非常喜欢直接通过tkinter本身做同样的事情而没有太多困难。 -
感谢您的建议马蒂诺。你能给我一个提示如何直接用 tkinter 做吗?
标签: python tkinter python-turtle