Python Tkinter绘制旋转椭圆时'apply未定义'错误的解决
问题解答
原代码行的作用
那行用apply的代码是Python 2的写法,核心是调用Tkinter画布的create_polygon方法:
- 把
poly_oval(40,40, 200,300, rotation=30)生成的坐标元组,作为位置参数传给create_polygon - 最后的
dict是传入空的关键字参数(这里没有实际配置项,仅占位)
整体功能是用多边形模拟绘制一个旋转30度的椭圆。
Python 3兼容改写
Python 3已经移除了apply函数,直接用参数解包语法替代即可:
canvas.create_polygon(*poly_oval(40,40, 200,300, rotation=30))
如果原代码中的dict是带有实际配置的字典(比如填充色、线条样式等),则改成:
canvas.create_polygon(*poly_oval(40,40, 200,300, rotation=30), **dict)
但原代码里的dict是空字典,所以第一种写法完全够用。
内容的提问来源于stack exchange,提问作者user7711283
相关产品推荐
相关产品推荐

