Como continuación de la vitamina 8 en la que deshabilitamos y habilitamos los controles de un formulario con el API de Velneo y JavaScript, en esta vitamina lo haremos también de forma sencilla y aprenderemos a deshabilitar controles de formulario con CSS en Velneo.
Podemos utilizar el comando de instrucción de procesos Velneo «Interfaz: Establecer hoja de estilo CSS» en un manejador de evento del formulario que se ejecute, por ejemplo, al dispararse la señal «Post-inicializado» del formulario, o en cualquier momento que consideremos oportuno.
Deshabilitar controles de formulario con CSS en Velneo
El siguiente script CSS se puede usar para deshabilitar todos los controles del formulario que sean del tipo (edición alfabética, edición fecha, edición fecha/hora, edición hora, edición numérica, edición de maestro, combobox, listbox y botones:
VLineEdit, VDateEdit, VDateTime, VTimeEdit, VDateTimeEdit,
VNumberSpinBox, VLineEditBrowser, VBoundFieldEdit, VBoundFieldComboBox,
VBoundFieldListBox, VComboBox, VListBox, VPushButton
{
qproperty-enabled: false
}
VPushButton#BTN_HAB_CTL_CSS
{
qproperty-enabled: true
}
Si nos fijamos en el CSS podemos observar como tras deshabilitar los controles, y en concreto todos los botones VPushButton, a continuación se habilita de nuevo el botón cuyo identificador es BTN_HAB_CTL_CSS.
Es decir, que podemos habilitar individualmente cualquier control de cualquier tipo indicando primero el tipo de control (VPushButton, VLineEdit, VDateEdit, etc.) el símbolo «#» y el identificador del control. Incluso se puede especificar varios controles a la vez.
Habilita controles del formulario
El siguiente script CSS se puede usar para deshabilitar todos los controles del formulario que sean del tipo (edición alfabética, edición fecha, edición fecha/hora, edición hora, edición numérica, edición de maestro, combobox, listbox y botones:
VLineEdit, QTextEdit, VDateEdit, VDateTime, VTimeEdit, VDateTimeEdit,
VNumberSpinBox, VLineEditBrowser, VBoundFieldEdit, VBoundFieldComboBox,
VBoundFieldListBox, VComboBox, VListBox, VPushButton
{
qproperty-enabled: true
}
Ventajas y desventajas del CSS respecto al API de Velneo y JavaScript
Esta píldora demuestra que deshabilitar y habilitar opciones con CSS es realmente sencillo, a continuación identifico algunas ventajas de hacerlo mediante CSS o con el API de Velneo y JavaScript:
Ventajas de hacerlo con CSS:
- Más sencillo de aplicar.
- Se aplica en cascada a todos los formularios que se abran desde aquel en el que se haya aplicado el estilo.
- Permite individualizar el estilo de múltiples controles a la vez.
Ventajas de hacerlo con el API de Velneo y JavaScript:
- Muy configurable y personalizable mediante programación.
- Muy potente al permitir aplicarlo a todas las propiedades y funciones.
- Código muy reutilizable y de aplicación directa, no en cascada.
[…] Píldora 7. Desactiva la ordenación de rejillas haciendo clic en cabecera Píldora 9. Deshabilita y habilita los controles de un formulario con CSS […]