在Canvas

时间:2015-09-28 08:15:54

标签: python python-3.x

我正在尝试创建一个负责绘制数据点的类。该类继承自canvas。

这些点需要绘制为5像素乘5像素的方形居中,其x和y坐标对应于我的身高和体重数据。

垂直和水平线应覆盖画布,并在显示数据时与鼠标位置相交。

到目前为止,我有这个:

class Plotter(tk.Canvas):

    def __init__(self, master,*args,**kwargs):
        TkInter.Canvas.__init__(self, master = master, *args, **kwargs)
        self.bind("<Configure>", self.on_resize)
        self.height = self.winfo_reqheight()
        self.width = self.winfo_reqwidth()


    def on_resize(self,event):
        wscale = float(event.width)/self.width
        hscale = float(event.height)/self.height
        self.width = event.width
        self.height = event.height
        self.config(width=self.width, height=self.height)
        self.scale("all",0,0,wscale,hscale)

为了改进我的代码,我需要做些什么?我不明白如何在5 x 5像素上绘制我的点。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

一旦定义了self._canvas,我发现使用self._canvas.create_oval(xval,yval,xval,yval,width = 5)会在(xval,yval)处创建一个5 x 5像素点在你的画布上。