IIC2233 / Syllabus-2022-2

Repositorio oficial del curso IIC2233 Programación Avanzada 🚀✨
61 stars 61 forks source link

Es esto mala práctica? (inserción a ciegas de Qpropiedades en .css) #401

Open 3rdPix opened 2 years ago

3rdPix commented 2 years ago

Prerrequisitos

Contenido

Estoy trabajando con un QGroupBox y deseo añadirle un StyleSheet personalizado. Para ello, creé una carpeta con todos los estilos que deseo para diferentes tipos de Widgets en formato .css, archivos que luego serán abiertos, leídos y entregados como hoja de estilo a los diferentes objetos de la interfaz.

Al tratarse de un objeto tan particular, QGroupBox tiene propiedades que escapan a las definiciones normales del formateo .css. Respecto a esto, he intentado exitosamente insertar propiedades exclusivas del Widget en la hoja de estilo .css. Digo exitosamente, ya que al cargar la hoja de estilo, el formateo se aplica sin ningún problema.

Sin embargo, como es de esperarse, la lectura del archivo .css desde el editor de código, muestra un error porque le estoy definiendo propiedades que le son desconocidas. Estoy insertando, "a ciegas" esas propiedades en el archivo .css, esperando que este sea llamado justo por algún objeto que tenga la propiedad. (no es azar, claro está, yo mismo diseñé esa hoja de estilo pensando en un objeto en particular).

Así, el archivo box_style.css se inserta en QGroupBox:

cajita: QGroupBox = QGroupBox(title='algun texto', parent=widget)
with open('box_style.css', 'r') as format:  cajita.setStyleSheet(format.read())

Y el Widget aplica todas las propiedades correctamente. Pero, si alguien quisiera leer el archivo box_style.css por su propia cuenta, fuera de este contexto, vería un error:

La zona resaltada, indicando que no existe subcontrol-position en las propiedades de formato usual de css. Sin embargo, en el contexto de este proyecto, sí tiene sentido (al saber que está dirigido específicamente a un tipo de QWidget).

Luego, el hecho de precisar una propiedad "a ciegas" en un archivo ¿es mala práctica?