2017-10-04 128 views
0

我目前正在做一些与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

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

如果你想有一个200像素宽/长椭圆形,您可以控制与坐标,而不是从width:

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

啊,我明白了!谢谢! –