Hola,
puedes crear un componente nuevo de dos maneras: Heredando de un componente existente de una librería y readaptarlo a tus necesidades o creando una clase desde cero. Yo uso wxpython por ser multiplataforma, tiene una buena cantidad de widgets y buena documentación.

Para readaptar un componente a menudo debes manejar conceptos de POO como ser, Clase, objetos, herencia, polimorfismo, etc. Lo que se hace es tomar un componente, heredar del mismo y hacerle algunos cambios, colores, tamaños, etc.

Para crear un componente nuevo se debe crear una Clase para el mismo. En la clase se usan objetos básicos como Paneles (Panels), Contenedores (Containers), PaintDC para dibujar líneas, Eventos, Imágenes, etc. Una vez que tienes la clase lista, podrás instanciar un objeto en tu programa y se dibujará el mismo. A menudo para crear interfaces gráficas se usa el patrón Decorator https://es.wikipedia.org/wiki/Decorator_(patr%C3%B3n_de_dise%C3%B1o) o Composite https://es.wikipedia.org/wiki/Composite_(patr%C3%B3n_de_dise%C3%B1o)

Ver: http://zetcode.com/wxpython/customwidgets/
https://wiki.wxpython.org/CreatingCustomControls
https://wxpython.org/docs/api/

Sds

Responder a