Skip to content

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

@3rdPix

Description

@3rdPix

Prerrequisitos

  • Leí las reglas del foro (AC 1 Syllabus#1).
  • Busqué en las issues si ya preguntaron mi duda y no encontré nada parecido (https://github.com/IIC2233/syllabus/issues).
  • Mi duda no se trata de un tema administrativo o personal, ya que en ese caso debo contactar a mi profe, al Jefe de Bienestar o al correo del curso (iic2233@ing.puc.cl).
  • Utilizaré un título descriptivo y llenaré correctamente esta plantilla.

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions