Cargando

  • 1 Min To Read
  • 01 Jan, 0001
    Índice de contenido

    10.5.6 La clase DrawingModel La clase DrawingModel tiene un atributo de contenido que se utiliza para contener todos los figuras en el dibujo. También proporciona algunos métodos convenientes para restablecer el contenido y añadir una figura al contenido. clase DibujoModelo: def init(uno mismo): self.contents = [] def clear_figures(auto): self.contents = [] def add_figure(self, figura): self.contents.append(figura) El DrawingModel es un modelo relativamente simple que simplemente registra un conjunto de figuras gráficas en una Lista. Estos pueden ser cualquier tipo de objeto y se pueden mostrar en de cualquier manera, siempre y cuando implementen el método on_paint(). son los objetos ellos mismos que determinan cómo se ven cuando se dibujan. 10.5.7 La clase DrawingPanel La clase DrawingPanel es una subclase de la clase wx.Panel. Proporciona la vista para el modelo de datos de dibujo. Esto utiliza la arquitectura MVC clásica y tiene un modelo (DrawingModel), una vista (el DrawingPanel) y un controlador (el controlador de dibujo). El DrawingPanel crea una instancia de su propio DrawingController para manejar eventos de ratón. También registra eventos de pintura para saber cuándo actualizar la pantalla. clase PanelDibujo(wx.Panel): def init(self, padre, get_mode): super().init(padre, -1) self.SetBackgroundColour(wx.Colour(255, 255, 255)) self.modelo = DibujoModelo() self.controller = DrawingController(self, self.model, get_mode) self.Bind(wx.EVT_PAINT, self.on_paint) self.Bind(wx.EVT_LEFT_DOWN, self.controller.on_mouse_click) 10.5 Las clases 113

    comments powered by Disqus