IIC2233 / syllabus-2020-1

Repositorio oficial del curso IIC2233 Programación Avanzada 🎉🎊
35 stars 68 forks source link

Label cortado #1334

Closed dcastillo5 closed 4 years ago

dcastillo5 commented 4 years ago

Holaa! Un comentario que tuve en la T02 fue que muchos label se veían cortados, sin embargo cuando ejecuto la tarea a mi me aparecen en el tamaño correcto y completos. Me gustaría saber por que ocurre este cambio y como evitarlo. Vale aclarar que la mayoría los hice directamente en Qt Designer y no creo que sea un problema de escalar imagen. Gracias !!

lily416 commented 4 years ago

Hola, tengo una idea de lo que podría ser. Para confirmarlo me podrías indicar tu sistema operativo y agregar una foto de como se una de las pantallas. :)

dcastillo5 commented 4 years ago

Tengo macOS. No entendí cual pantalla mostrarte jaja te dejo una del Qt Designer mientras tanto Captura de pantalla 2020-07-08 a las 2 21 39 p m

lily416 commented 4 years ago

El problema que normalmente pasa normalmente cuando una interfaz se crea con QtDesigner en MacOS y posteriormente se corre en Windows.

Por ejemplo, así se ve la misma ventana en Windows: image

Y así se ve la ventana de juego: image

No sé específicamente lo que lo causa, pero si se me ocurre cómo evitarlo. 😅

Debe haber más de una forma de arreglarlo, pero hay dos que se me vienen a la mente:

  1. Puedes crear la interfaz directamente por medio de código.
  2. Puedes fijar para todos los labels una fuente y su tamaño. Generalmente puedes hacerlo seteando la fuente en el elemento principal que contenga al resto, en tu caso sería la MainWindow o el CentralWidget.

    Para settear la fuente, puedes hacerlo por medio del "property editor" o usando "Change StyleSheet".

    Pero para lo que te nombro anteriormente pueda funcionar, debes tener ojo con los labels, ya que cuando se guarda el texto estas usando texto enriquecido:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    <html><head><meta name="qrichtext" content="1" /><style type="text/css">
    p, li { white-space: pre-wrap; }
    </style></head><body style=" font-family:'.SF NS Text'; font-size:13pt; font-weight:400; font-style:normal;">
    <p align="center" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'.verdana'; font-size:18pt; color:#fdfefe;">REPUTACIÓN</span></p></body></html> 

    Esto dificulta el poder modificar el tamaño de la fuente, ya que hay que hacerlo directamente en el texto enriquecido. 😕

    Para evitar problemas con eso, lo mejor es usar texto plano y después agregar características al label por medio del "Change StyleSheet" o el "property editor".

    Por ejemplo, así quedaría uno de los labels al usar texto plano y seteando en la style sheet como color: white; text-transform: uppercase;: image

Espero que te sea de ayuda :) Saludos y éxito en el fin de semestre 👋📚

PS: Si quieres mandar a recorregir sobre esto y pedir que se revise la interfaz en un MacOS, es perfectamente válido. 🤓

dcastillo5 commented 4 years ago

Gracias por la explicación !!