运行时错误:主线程不在主循环中:turtle graphics和python

运行时错误:主线程不在主循环中:turtle graphics和python,python,turtle-graphics,Python,Turtle Graphics,我只是为了好玩而涂鸦,我想做的是每次点击鼠标时画一个圆圈。如果我将if中的内容更改为print('hi'),它会做出反应,但如果我说圆圈(x,y),它会说“运行时错误:主线程不在主循环中” 代码: 从海龟导入* 从pynput.mouse导入侦听器 t=海龟() t、 希德图尔() t、 速度(0) t、 up() t、 转到(-500,-500) t、 向下() t、 开始填充() t、 颜色(“黑色”、“黑色”) 对于范围(4)中的i: t、 远期(1000) t、 左(90) t、 (完)

我只是为了好玩而涂鸦,我想做的是每次点击鼠标时画一个圆圈。如果我将if中的内容更改为print('hi'),它会做出反应,但如果我说圆圈(x,y),它会说“运行时错误:主线程不在主循环中”

代码:

从海龟导入*
从pynput.mouse导入侦听器
t=海龟()
t、 希德图尔()
t、 速度(0)
t、 up()
t、 转到(-500,-500)
t、 向下()
t、 开始填充()
t、 颜色(“黑色”、“黑色”)
对于范围(4)中的i:
t、 远期(1000)
t、 左(90)
t、 (完)
def圆(x,y):
t、 up()
t、 后藤(x,y)
对于范围(20,0,-5)内的i:
t、 开始填充()
如果i==20或i==5:
t、 颜色(“红色”、“红色”)
elif i==15:
t、 颜色(“蓝色”、“蓝色”)
其他:
t、 颜色(“绿色”、“绿色”)
t、 圆圈(一)
t、 (完)
t、 up()
t、 后藤(x,y+25-i)
t、 向下()
def on_单击(x,y,按钮,按下):
如果按下:
圆(x,y)
使用侦听器(on_click=on_click)作为侦听器:
listener.join()
输入()
完全错误:

侦听器回调中未处理的异常 回溯(最近一次呼叫最后一次): 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\site packages\pynput\\u util\win32.py”,第380行,在处理程序中 转换=自。\转换(代码、消息、lpdata) 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\site packages\pynput\\u util\win32.py”,第395行,在 引发未实现的错误() 未实现错误 在处理上述异常期间,发生了另一个异常: 回溯(最近一次呼叫最后一次): 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\site packages\pynput\\u util\\uuuuuuu init\uuuuu.py”,第211行,在内部 返回f(自,*args,**kwargs) 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\site packages\pynput\\u util\win32.py”,第384行,在处理程序中 self.\u句柄(代码、消息、lpdata) 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\site packages\pynput\mouse\\u win32.py”,第212行,在句柄中 点击(data.pt.x,data.pt.y,按钮,按下) 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\site packages\pynput\\u util\\uuuuuuu init\uuuuu.py”,第127行,在内部 如果f(*args)为False: 文件“C:/Users/XiaoPang/PycharmProjects/py1/py1.py”,第37行,点击 圆(x,y) 文件“C:/Users/XiaoPang/PycharmProjects/py1/py1.py”,第19行,圆圈 t、 up() 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\turtle.py”,第2107行,在penup中 self.pen(pendown=False) 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\turtle.py”,第2425行,钢笔 self._newLine() 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\turtle.py”,第3287行,新行 自我.(铅笔色,自我.) 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\turtle.py”,第545行,在绘图行中 自我简历协调(行项目,*cl) 文件“”,第1行,在坐标中 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\tkinter\\uuu init\uuuu.py”,第2469行,在coords中 self.tk.call((self._w,'coords')+args))] 运行时错误:主线程不在主循环中 回溯(最近一次呼叫最后一次): 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\site packages\pynput\\u util\win32.py”,第380行,在处理程序中 转换=自。\转换(代码、消息、lpdata) 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\site packages\pynput\\u util\win32.py”,第395行,在 引发未实现的错误() 未实现错误 在处理上述异常期间,发生了另一个异常: 回溯(最近一次呼叫最后一次): 文件“C:/Users/XiaoPang/PycharmProjects/py1/py1.py”,第40行,在 listener.join() 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\site packages\pynput\\u util\\uuuuuuu init\uuuuu.py”,第259行,在join中 六、重放(exc_类型、exc_值、exc_回溯) 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\site packages\six.py”,第702行,在reraise中 通过_回溯(tb)提升值 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\site packages\pynput\\u util\\uuuuuuu init\uuuuu.py”,第211行,在内部 返回f(自,*args,**kwargs) 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\site packages\pynput\\u util\win32.py”,第384行,在处理程序中 self.\u句柄(代码、消息、lpdata) 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\site packages\pynput\mouse\\u win32.py”,第212行,在句柄中 点击(data.pt.x,data.pt.y,按钮,按下) 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\site packages\pynput\\u util\\uuuuuuu init\uuuuu.py”,第127行,在内部 如果f(*args)为False: 文件“C:/Users/XiaoPang/PycharmProjects/py1/py1.py”,第37行,点击 圆(x,y) 文件“C:/Users/XiaoPang/PycharmProjects/py1/py1.py”,第19行,圆圈 t、 up() 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\turtle.py”,第2107行,在penup中 self.pen(pendown=False) 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\turtle.py”,第2425行,钢笔 self._newLine() 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\turtle.py”,第3287行,新行 自我.(铅笔色,自我.) 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\turtle.py”,第545行,在绘图行中 自我简历协调(行项目,*cl) 文件“”,第1行,在坐标中 文件“C:\Users\XiaoPang\AppData\Local\Programs\Python\Python37-32\lib\tkinter\\uuu init\uuuu.py”,第2469行,在coords中 self.tk.call((self._w,'coords')+args))] 运行时错误:主线程不在主循环中 进程已完成,退出代码为1 发生错误
from turtle import *

........

def on_click(x, y):
    circles(x, y)

onscreenclick(on_click, 1)  # left mouse button

mainloop()  # wait for exit
from turtle import Screen, Turtle

def circles(x, y):
    screen.onclick(None)

    for i in range(20, 0, -5):
        turtle.goto(x, y - i)

        if i == 20 or i == 5:
            turtle.color('red')
        elif i == 15:
            turtle.color('blue')
        else:
            turtle.color('green')

        turtle.begin_fill()
        turtle.circle(i)
        turtle.end_fill()

    screen.onclick(circles)

screen = Screen()
screen.bgcolor('black')

turtle = Turtle()
turtle.hideturtle()
turtle.speed('fastest')
turtle.penup()

screen.onclick(circles)
screen.mainloop()