椭圆形没有被完全填满

时间:2017-10-04 18:03:29

标签: python python-2.7 tkinter tkinter-canvas

我目前正在搞乱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()

我不确定问题是什么。欢迎任何批评,谢谢!

1 个答案:

答案 0 :(得分:1)

您正在创建一个零像素宽且零像素高的椭圆形(左上角为300,300,右下角为300,300)。你看到任何东西的事实是你强迫它使用一条很粗的线来画边缘。

如果你想要一个200像素宽/长椭圆,你可以用坐标来控制它,而不是宽度:

def draw_oval(self):
    self.canvas.create_oval(300, 300, 500, 500, width=1, fill='green')