Redondear bordes QT


([N1] andrei) #1

Buenos días,

Os comento lo que estoy intentado. Quiero que en un formulario hecho en Velneo poder redondear los bordes de las distintas cajas de edición de texto. Tengo varias cajas: edición alfabética, edición numérica, edición de fecha, etc… Varias de las cajas anteriores traen datos de la BBDD; otras están vacías - a rellenar por el usuario.

Lo que me pasa es que soy incapaz de redondear todos los bordes, sí que lo he conseguido con varias cajas, pero no sé porque no me lo hace con todas.

Las intrucciones que he usado para darle el formato deseado son las siguientes:

QLineEdit, QTextEdit {
border: 0.5px solid gray;
padding: 0 -1px;
background: white;
border-radius: 5px;

}

(aparte de los VCEditMaestro, QDoubleSpinBox, QSpinBox)

Según entiendo (ojo que no he tocado mucho QT), los QLineEdit y QTextEdit abarcan todas las cajas - edición numérica/alfabética. ¿Me estoy equivocando?

Lo que estoy preguntando es si por QT puedo acceder absolutamente a todas las cajas de un formulario y el cómo; y ¿cómo podría modificar únicamente una caja, hay alguna manera por ejemplo de acceder a una ID o CLASS de algún elemento de mi formulario, o varios en el caso del CLASS?

Gracias de antemano!
–Andrei


([N4] bitcodesoft) #2

Solo tienes que añadir el identificador del control dentro del formulario, ejemplo:
si el identificador del control es ED_NOMBRE, entonces:

QLineEdit#ED_NOMBRE{

}

([N3] pacosatu) #3

Hola Andrei.

Efectivamente, la gestión de los CSS en Velneo es un verdadero caos, debido a la limitada implementación por parte de Qt, a la desastrosa documentación que hay al respecto y a la falta de un mínimo editor de CSS en tiempo de diseño en vDevelop así como de un Preview de los controles estilizados.

A modo de ejemplo, prueba lo siguiente:


/* Controles de edición de datos */
VBoundFieldEdit, QLineEdit, QDoubleSpinBox, QNumberSpinBox, QTimeEdit, VDateEdit, QDateTimeEdit, VDataCatcherEdit, QTextEdit  {
   border: 1px solid DarkGray;
   border-radius: 3px;
}
/* Caja de grupo  */
QGroupBox {
   border: 1px solid Silver;
   border-radius: 3px;
}
/* Combobox */
QComboBox {
   border: 1px solid DarkGray;
   border-radius: 3px;
}

En la forma de seleccionar las clases todavía no sé porqué algunas empiezan por Q y otras por V. Por ejemplo, es lo mismo usar QLineEdit que VLineEdit, pero no es lo mismo VDataCatcherEdit que QDataCatcherEdit. Quizás las que empiezan por V son exclusivamente clases de Velneo, no de QT, no lo sé. Como siempre, de documentación nada de nada.

En cuanto a seleccionar por ID ya te lo ha indicado @bicodesoft.

Para seleccionar por CLASS, lamentablemente no existe esta posibilidad en Velneo (que yo sepa). Así que si tienes que personalizar 10 controles en un determinado formulario tendrás que seleccionarlos por su ID y aplicar 10 veces el mismo CSS. Espero que esto se solucione en futuras versiones de QT.

Saludos
Paco satué


([N4] ns) #4
  • 1

Hacer, probar CSS y que se apliquen en todos los controles = CAOS.


([N1] andrei) #5

Gracias a los dos por la ayuda.