运行时错误:主线程不在主循环中:turtle graphics和python
我只是为了好玩而涂鸦,我想做的是每次点击鼠标时画一个圆圈。如果我将if中的内容更改为print('hi'),它会做出反应,但如果我说圆圈(x,y),它会说“运行时错误:主线程不在主循环中” 代码:运行时错误:主线程不在主循环中: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、 (完)
从海龟导入*
从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()