【问题标题】:Oval not being completely filled椭圆形未完全填充
【发布时间】:2017-10-04 18:03:29
【问题描述】:

我目前正在处理 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()

我不确定问题是什么。欢迎大家批评指正,谢谢!

【问题讨论】:

    标签: python python-2.7 tkinter tkinter-canvas


    【解决方案1】:

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

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

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

    【讨论】:

    • 啊,我明白了!谢谢!
    猜你喜欢
    • 2017-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-17
    相关资源
    最近更新 更多