我目前正在搞乱python的Tkinter模块和类。我在画布上使用create_oval时遇到问题,其中使用fill = [color]只填充圆圈中的一个小点。我的代码如下。
import Tkinter as tk
class MainApplication(tk.Frame):
def __init__(self, parent):
tk.Frame.__init__(self, parent)
self.parent = parent
self.canvas(parent)
self.draw_oval()
def canvas(self, parent):
self.canvas = tk.Canvas(parent, width=960, height=600)
self.canvas.pack()
def draw_oval(self):
self.canvas.create_oval(300, 300, 300, 300, width=200, fill='green')
if __name__ == '__main__':
root = tk.Tk()
MainApplication(root).pack()
root.mainloop()
我不确定问题是什么。欢迎任何批评,谢谢!
答案 0 :(得分:1)
您正在创建一个零像素宽且零像素高的椭圆形(左上角为300,300,右下角为300,300)。你看到任何东西的事实是你强迫它使用一条很粗的线来画边缘。
如果你想要一个200像素宽/长椭圆,你可以用坐标来控制它,而不是宽度:
def draw_oval(self):
self.canvas.create_oval(300, 300, 500, 500, width=1, fill='green')