QSS

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 3 de julio de 2015; las comprobaciones requieren 5 ediciones .

QSS ( English  Qt Style Sheets  - Hojas de estilo Qt ) es un mecanismo que le permite personalizar la apariencia de los widgets en la biblioteca Qt .

Descripción

QSS se inspiró en gran medida en las hojas de estilo en cascada CSS para HTML y, por lo tanto, tiene una sintaxis similar. En particular, al igual que en CSS, en QSS puede cambiar la forma, los colores, la transparencia de un elemento, así como la respuesta visual a los eventos (como hacer clic en un botón). Los estilos se pueden adjuntar tanto a un componente separado como a toda la aplicación, utilizando el método ::setStyleSheet()disponible tanto para widgets individuales como para el archivo QApplication.

Qt Designer brinda la capacidad de integrar estilos QSS, lo que los hace más fáciles de probar y desarrollar. Además, al ejecutar una aplicación Qt, puede aplicarle una hoja de estilo utilizando la sintaxis de la línea de comandos del formulario:

MiAplicación -hoja de estilo MiEstilo.qss

La compatibilidad con QSS apareció en Qt a partir de la versión 4.3 [1] , sin embargo, antes de la versión 4.5, este mecanismo no funcionaba en la plataforma Mac OS X.

El mecanismo QSS le permite separar completamente el diseño visual del desarrollo de aplicaciones e involucrar a los diseñadores web en el estilo de las aplicaciones . Junto con los subsistemas QtScript y QML  , este es uno de los pasos para acercar la programación Qt al desarrollo web .

Características de QSS

Los selectores QSS son principalmente nombres de clases de widgets Qt . También puede especificarlos con el nombre de una instancia de widget específica, por ejemplo, QPushButton#okButtonasí como los valores de ciertos atributos ( QPushButton[x="0"][y="0"]). Al igual que en CSS, puede buscar un elemento (en el caso de QSS, un widget) anidado en un widget del tipo especificado, por ejemplo QFrame > QDial(hijo directo) o QFrame QDial(se permiten niveles de anidamiento intermedios).

Ejemplos de código QSS

Establece el radio del borde para las clases QPlainTextEdit,QSpinBox,QTimeEdit,QLineEdit:

QPlainTextEdit , QSpinBox , QTimeEdit , QLineEdit { borde-radio : 5 ;}

Verifica el valor de la propiedad editable de la clase QComboBox, si la condición es verdadera, luego establece la imagen del archivo de recursos y el ancho del borde:

QComboBox [ editable = "verdadero" ] { imagen de borde : url ( :/Componentes/imágenes/marco.png ) 4 ; ancho del borde : 3 }

Notas

  1. Qt 4.3 y hojas de estilo Archivado desde el original el 9 de agosto de 2011.  (ing.) , Qt Labs - Blogs de desarrolladores

Literatura

  • Jazmín Blanchett, Mark Summerfield. cap. 19. Establecer un diálogo con el usuario. Uso de las hojas de estilo de Qt // Qt4: Programación de GUI en C++ = Programación de GUI en C++ con Qt 4. Segunda edición, revisada. - Moscú: KUDITs-PRESS , 2008. - S. 447-461. — 718 pág. - 2500 copias. Copiar.  - ISBN 978-5-91136-059-7 .
  • Max Schlee. cap. 26. Elementos con estilo. Uso de estilos de documentos en cascada // Qt 4.5. Programación profesional en C++ . - San Petersburgo: BHV, 2010. - S.  433 -440. — 896 pág. - 1500 copias. Copiar.  - ISBN 978-5-9775-0398-3 .

Enlaces