Documentación de Velneo
34
34
  • Introducción
  • Velneo
    • Requerimientos de Velneo
    • Notas de la versión
    • Funcionalidades comunes a los componentes de Velneo
      • Instalación
      • Conexión con Velneo vServer
      • Cambiar el estilo de visualización
      • Cambiar el aspecto
      • Ver u ocultar barras de herramientas
      • Mensajería interna entre usuarios
      • Soporte de alta resolución (HighDPI)
      • Carpetas de trabajo de los componentes de Velneo
      • Numeración de versiones de Velneo
      • Certificado de firma digital para componentes de Windows
    • Tipos de archivo generados por Velneo
    • Velneo Web
      • Plataformas y navegador compatibles
      • Acceso a recursos del sistema
      • Siempre HTTPS
      • Funcionamiento de VATPS por websocket
      • CORS para llamadas XmlHttpRequest
  • Aplicación vLanzadera y login social
    • Configuración de vLanzadera en Apache en el Cloud de Velneo
    • Configuración de vLanzadera en Apache en servidores propietarios
  • Velneo vDevelop
    • ¿Qué es Velneo vDevelop?
    • Identificación de usuario
    • Interfaz de Velneo vDevelop
      • Dock de proyecto
      • Menú Soluciones
      • Menú Proyectos
      • Menú Objetos
      • Menú Scripts
      • Menú Edición
      • Menú Ver
      • Menú Componentes
      • Menú Ayuda
    • Lista de teclas aceleradoras de Velneo vDevelop
    • Soluciones y proyectos
    • Control y edición de proyectos
    • Herencia
    • Inspectores
    • Proyectos objetos y editores
      • Proyecto de datos
      • Proyecto de aplicación
        • Crear CSS para aplicar a objetos en edición
      • Objeto
        • Refactorización automátca
        • Exportación e importación de objetos
      • Objetos de proyecto de datos
        • Indice complejo
        • Tabla
          • Actualización
          • Campo
          • Enlace
          • Indice
          • Plural
          • Traspaso de campo
          • Trigger
        • Tabla estática
        • Variable
      • Objetos de proyecto de aplicación
        • Acción
        • Alternador de lista
        • Arbol visor de tablas
        • Bloc de formularios
        • Casillero
        • Cesta
        • ComboView
        • Control SVG
        • Dispositivo serie
        • Formulario
          • Controles de visualización
            • Texto estático
            • Nombre de campo
            • Visor HTML
            • Dibujo
            • Imagen SVG
            • Caja de grupo
            • Menú arbolado
            • Barra de progreso
            • Reloj
            • Manómetro
            • Termómetro
          • Controles de edición
            • Caja de texto
            • Caja de texto enriquecido
            • Data catcher edit
            • Edición alfabética
            • Edición fecha
            • Edición fecha/hora
            • Edición fórmula
            • Edición hora
            • Edición numérica
            • Edición senda fichero
            • Edición senda directorio
            • Objeto dibujo
          • Controles de entrada
            • Botón
            • Botón de check
            • Botón de radio
            • Calendario
            • ComboBox
            • Deslizador
            • Dial
            • ListBox
            • Rueda
          • Contenedores
            • Área de scroll
            • Caja de formularios
            • Pila de formularios
            • Separador de formularios
            • Splitter
            • Vista de datos
          • Layout
          • Tree widget
          • Controles SVG
          • Extensión de ficha
        • Formulario QML
        • Gráfico
        • Imagen SVG
        • Impresora lógica
        • Informe
          • Editor de informes
          • Agrupamiento
          • Sección
          • Cálculo
        • Informe personalizable
          • Diseñando un informe personalizable básico
          • Diseño avanzado
          • Diseñando un informe personalizable
          • Añadiendo orígenes de datos
          • Añadiendo elementos al informe
          • Características avanzadas
          • Etiquetas
          • Asistente de scripts
          • Impresión de gráficos
          • Opciones html
        • ListView
        • Lista QML
        • Localizador
        • Marco
        • Menú
        • Multivista
        • Protocolo TCP-IP
        • Reemplazo
        • Rejilla
          • Columna de rejilla
        • Rejilla avanzada
          • Columna de rejilla avanzada
        • Toolbar
        • ViewFlow
        • Sub-objetos de vistas de datos
          • Conexión de evento
          • Drop
          • Inserción
          • Manejador de evento
      • Objetos comunes a proyecto de datos y de aplicación
        • Búsqueda
        • Cola
        • Constante
        • Dibujo
        • Esquema de tablas
        • Fichero adjunto
        • Función
        • Librería externa
        • Lupa
        • Proceso
          • Indice de comandos de instrucción de proceso
          • Comandos de base de datos
            • API
            • Bases de datos externas
            • Búsquedas
            • Campos (grupo de comandos)
            • Cestas
            • Fichas
              • Enum de errores de JSON/CSV
            • Fichas seleccionadas
            • Listas
            • Tablas
            • Tubos
          • Básicos
            • Controles de flujo
            • Debug
            • Ejecución
            • Salida/retornos
            • Scripts (grupo de comandos)
            • Transacciones (comandos)
            • Variables
          • Comunicación
            • GPS
            • Internet
            • Protocolo TCP
            • Puerto serie
            • SDV
          • Interfaz
            • Acciones (comandos)
            • Controles
              • Ejemplos de CSS
            • Diálogos
            • Formularios - comandos
            • Localizadores
            • Objeto - grupo de comandos
            • Ventana principal
            • Vista de datos - comandos
          • Sistema
            • Comandos de Sistema
            • Configuración
            • Directorios
            • Ficheros
        • Tubo de ficha
        • Tubo de lista
        • Variable local
      • Editores
        • Asistente de fórmulas
          • Operadores
          • Funciones estándar
            • Funciones API
            • Funciones básicas
            • Funciones de cadenas
              • Expresiones regulares
            • Funciones científicas
            • Funciones de Cliente-servidor
            • Funciones de color
            • Funciones de códigos
              • Lista de codecs
            • Funciones de directorios
            • Funciones de fechas
            • Funciones de ficha en curso
            • Funciones de horas
            • Funciones JSON
            • Funciones de Internet
            • Funciones de juegos de caracteres
              • Codecs
            • Funciones numéricas
            • Funciones de sistema
            • Funciones de tiempo
            • Funciones trigonométricas
          • Funciones de dll
          • Funciones de proceso
          • Funciones remotas
          • Funciones de campo
          • Campos
          • Constantes
          • Variables globales
          • Variables locales
          • Variables del sistema
          • Verificador de fórmulas
          • Conversión automática de datos
          • Introducción de datos literales
          • Secuencias de escape en cadenas de caracteres
          • Composición de sendas en fórmulas
          • Operar con datos de tipo fecha, hora y tiempo
        • Editor de imágenes
        • Selector de fuentes
    • Scripts
      • Lenguajes
        • JavaScript
          • Procesos JavaScript
          • Fórmulas JavaScript
          • Clases
            • Funciones globales
            • Objetos
            • VAbstractBrowser
            • VAbstractDataView
            • VAbstractListDataView
            • VAdvandedGridListDataView
            • VAlternatorListDataView
            • VApp
              • VApp: enumeraciones
              • VApp: ejemplos
            • VBoundFieldComboBox
            • VBoundFieldEdit
            • VBoundFieldEditBrowser
            • VBoundFieldListBox
            • VByteArray
            • VCheckBox
            • VClipboard
            • VClockWidget
            • VComboBox
            • VComboListDataView
            • VCoverFlowListDataView
            • VCWebView
            • VDataCatcherEdit
            • VDataCatcherEditBrowser
            • VDataView
            • VDataViewDialog
            • VDateEdit
            • VDateEditBrowser
            • VDateTimeEdit
            • VDateTimeEditBrowser
            • VDial
            • VDir
            • VExtension
              • VExtension: enumeraciones
            • VFile
              • VFile: enumeraciones
            • VFileInfo
            • VFilePathEditBrowser
            • VFinder
            • VFont
            • VFormBlockListDataView
            • VFormDataView
            • VFormulaEditBrowser
            • VGaugeWidget
            • VGPS
            • VGridListDataView
            • VGroupBox
            • VImage
            • VImageEdit
            • VImageWidget
            • VInstancesList
            • VInstance
            • VInstances
            • VItemRegisterPattern
            • VLabel
            • VLineEdit
            • VLineEditBrowser
            • VListBox
            • VListDataView
            • VLogin
            • VMainWindow
              • VMainWindow: enumeraciones
              • VMainWindow: ejemplos
            • VMdiView
            • VMimeData
            • VMultiDataView
            • VNumberSpinBox
            • VNumberSpinBoxBrowser
            • VObjectInfo
              • VObjectInfo: enumeraciones
            • VObjectInstance
            • VProcess
            • VProgressBar
            • VProjectInfo
            • VPushButton
            • VQmlFormDataView
            • VQmlListDataView
            • VQmlListModel
            • VQuery
            • VRadioButton
            • VRegister
            • VRegisterList
            • VReportListDataView
            • VRequest
            • VResponse
            • VRoot
            • VScreen
            • VScrollArea
            • VServerAdmin
            • VSettings
            • VSlider
            • VSlotListDataView
            • VSolutionInfo
            • VSplitter
            • VSqlDatabase
            • VSSLCertificate
            • VSSLKey
            • VSSLInfo
            • VSSLSessionCipher
            • VStackedWidget
            • VSvgButton
            • VSvgSlideSwitch
            • VSvgToggleSwitch
            • VSvgWidget
            • VSysInfo
              • VSisInfo: enumeraciones
            • VTableInfo
              • VTableInfo: enumeraciones
            • VTabWidget
            • VTextEdit
            • VTextFile
            • VThermometerWidget
            • VThumbWheel
            • VTimeEdit
            • VTimeEditBrowser
            • VToolBox
            • VTreeItem
            • VTreeItemRegister
            • VTreeListDataView
            • VTreeMenu
            • VTreeMultiTableListDataView
            • VTreeWidget
            • VUser
            • VUserGroup
            • VUserGroupList
            • VUserList
            • VXmlReader
            • VXmlWriter
            • Widget
            • XMLHttpRequest
        • QML
          • Tipos QML
          • Funciones específicas de QML
    • Depuración
      • Depuración de procesos de Velneo
      • Depuración de procesos JavaScript
      • Monitor de vClient
    • Extensiones de Velneo vDevelop
    • Acceso directo a una solución desde vDevelop
    • Buenas prácticas
      • Buenas prácticas de organización
        • Proyectos
        • Organización de carpetas
        • Proyecto de datos
        • Proyecto de aplicación
      • Buenas prácticas de codificación
        • Identificadores
        • Teclas aceleradoras
        • Documenta
        • Diseña los formularios como si no existiesen los layouts
      • Buenas prácticas de rendimiento
        • Arquitectura
          • Listas de registros
          • Lista de resultados de una búsqueda
          • Las cestas
          • Las variables globales
          • La caché de fichas
          • Programa en cloud
        • Formularios
          • Condiciones de visible y activo
          • Carga de subformularios en pestaña, caja o pila
        • Base de datos
          • Campos
          • Indices
          • Actualizaciones
          • Eventos de tabla o triggers
          • Variables globales y constantes
          • Tablas en memoria vs tablas en disco
          • Optimizar migraciones de datos
          • Búsquedas en el servidor ¿Cuándo y Cómo?
          • Campos fórmula vs campos en disco
          • Indices condicionados vs búsquedas complejas
          • ¿Cuándo usar tablas de extensión?
          • Indices de trozos y palabras
          • ¿Cuándo usar cada tipo de campo alfa?
        • Procesos y funciones y eventos
          • 1º, 2º, 3º y 4º plano ¿Cuándo usar cada uno?
          • Bloqueo blando vs bloqueo duro
          • Pasar información del cliente al servidor
          • ¿Cómo optimizar transacciones grandes?
          • ¿Cómo gestionar las transacciones?
          • Grabaciones optimizadas para el usuario
        • Carga de registros en objetos de lista
          • Rejillas
            • Campos punteros a singular
            • Totales
            • Condiciones de activo, visible y color en columna
            • Campos de tipo objeto
        • Conoce los límites
      • Imágenes
      • Buenas prácticas para el desarrollo en equipo
      • Modo mantenimiento
    • Análisis de bases de datos para aplicaciones de Velneo
      • Un centro de enseñanza
      • Facturas de un cliente
      • Repartos de obras de teatro
      • Galería de arte
      • Gestión de un colegio
      • Instalación de lunas para vehículos
      • Libros y autores
      • Tienda de discos
      • Últimos pedidos de un proveedor
      • Existencias por almacén y precios por cliente
      • Generación de tickets para un quiosco
      • Navegación por facturas
  • Velneo vDevelop Web
  • Velneo vAdmin
    • ¿Qué es Velneo vAdmin?
    • Activación de licencias de Velneo vServer
    • Gestión de usuarios
    • Gestión de aplicaciones
      • Soluciones
      • Instancias
      • Disco
    • Monitorización
      • Lista de comandos
    • Tareas
    • Acceso directo
    • Velneo vAdmin Web
  • Velneo vClient
    • ¿Qué es Velneo vClient?
    • Movilidad
    • Funcionalidades de Velneo vClient
      • Accesos directos y VRL
      • Cambiar idioma
      • Panel de multitarea: procesos, colas y servicios
      • Manejo de rejillas
        • Submenú de filtros
      • Uso de la rejilla avanzada
      • Manejo de cestas
      • Refrescos
      • Caché local
      • Edición de campos enlazados a maestro
      • Edición de campos de tipo fecha
      • Capturar imagen desde una cámara
      • Asignar impresoras lógicas
      • Actualización automática
      • Personalización de la ventana de conexión de Velneo vClient
      • Instalador personalizado de Velneo vClient
      • Ordenación de listas
      • Listas virtuales
  • Velneo vClient Web
    • Cómo incrustar una aplicación de Velneo Web en un DIV de una página html
  • Velneo vServer
    • ¿Qué es Velneo vServer?
    • Instalación y configuración
      • Línea de comandos de Velneo vServer
      • Parámetros configurables de Velneo vServer
        • Componer certificado fullchain
        • Certificados TLS/SSL para intranets
      • Estructura de directorios
    • Iniciar y detener Velneo vServer
    • Funcionalidades
      • Protocolo VATPS
      • Protocolo VATP
      • Multi-hilo
      • Integridad referencial
      • Refrescos terciarios
      • Sistema transaccional
      • Sistema de bloqueos
      • Tecnología bigkey
      • Hilo de control
      • Colas de procesos en 4º plano
    • vPacker
      • Mensajes de log de sistema
  • Velneo vInstallBuilder
    • ¿Qué es Velneo vInstallBuilder?
    • Configurar una instalación
    • Probar una instalación
    • Crear el instalable
    • Accesos directos
  • Velneo vModApache
    • ¿Qué es Velneo vModApache?
    • Instalación y configuración
    • Nomenclatura de objetos en urls
    • Uso de ficheros adjuntos
    • Caché local de Velneo vModApache
  • Velneo vDataClient
    • ¿Qué es Velneo vDataClient?
    • Iniciar Velneo vDataClient
    • Interfaz de Velneo vDataClient
    • Procesos
    • Utilidades
    • Acceso directo a una instancia de datos
    • Velneo vDataClient Web
  • Velneo vTranslator
    • ¿Qué es Velneo vTranslator?
    • Importación y exportación basada en XLIFF
    • Acceso directo a una solución
  • Velneo ODBC Driver
    • ¿Qué es velneo ODBC Driver?
    • Referencia de comandos SQL
  • Velneo vVersion
    • ¿Qué es Velneo vVersion?
  • Velneo vERP
    • ¿Qué es Velneo vERP?
    • Manual del programador
    • Documentación de la ApiRest
    • Novedades de la versión
  • Velneo vTutor
    • ¿Qué es vTutor?
    • Tutores de objetos básicos
      • Tutor de árboles visores de tablas arboladas
      • Tutor de búsquedas
      • Tutor de cestas
      • Tutor de formularios
      • Tutor de informes
      • Tutor de localizador básico
      • Tutor de marcos
      • Tutor de rejillas
      • Tutor de rejillas avanzadas
    • Tutores de objetos avanzados
      • Tutor de alternadores de lista
      • Tutor de comboview
      • Tutor de drag and drop
      • Tutor de eventos
      • Tutor de tablas de extensión y extensiones de ficha
      • Tutor de tubos de ficha y de lista
      • Tutor de grabación de fichas
      • Tutor de gráficos
      • Tutor de impresión de informes
      • Tutor de lupas
      • Tutor de protocolo TCP/IP
      • Tutor de reemplazo
    • Tutores de controles
      • Tutor de botones de menú
      • Tutor de controles SVG
      • Tutor de edición numérica
      • Tutor de visor html dinámico
      • Tutor de vistas de datos de lista
    • Tutores de procesos y manejadores de evento avanzados
      • Tutor de cambio de marco
      • Tutor de comandos de interfaz y acciones
      • Tutor de importación y exportación de ficheros ASCII
      • Tutor de portapapeles
      • Tutor de procesos
      • Tutor de SDV
    • Tutores de scripts
      • QML: hola mundo
      • QML: tutor básico
      • QML: tutor de vistas
      • Tutor de XMLHttpRequest (webServices)
  • Velneo cloud
    • ¿Qué es Velneo Cloud?
    • Panel de control vServer cloud
      • URC
      • vServer
      • Apache
      • SFTP
      • Usuarios
      • Copias
    • Copias de seguridad automáticas
    • Velneo Cloud API
      • Uso de Velneo cloud API
    • Explorador de archivos cloud sFTP
    • TCP en Velneo cloud
    • Dominios de empresa y certificados
    • Velneo vModApache en cloud
    • SLA
    • Hora de los servidores en el cloud de Velneo
    • Arranque automático de un servidor tras una parada no controlada
    • ¿Qué puedo hacer si tengo una incidencia en mi servidor cloud?
Con tecnología de GitBook
En esta página
  • Ejemplo documentado de personalización de objetos visuales y controles
  • Aplicar CSS a controles con un identificador concreto
  • Aplicar una CSS de forma selectiva a objetos y subobjetos en una css general
  • Wildcards en las CSS de Velneo
  • Personalizar con css el botón menú de un control de edición de formularios

¿Te fue útil?

  1. Velneo vDevelop
  2. Proyectos objetos y editores
  3. Objetos comunes a proyecto de datos y de aplicación
  4. Proceso
  5. Interfaz
  6. Controles

Ejemplos de CSS

Última actualización hace 1 año

¿Te fue útil?

En este capítulo vamos a explicar de forma práctica cómo personalizar la interfaz de nuestras aplicaciones usando hojas de estilo dinámicas (CSS).

Ejemplo documentado de personalización de objetos visuales y controles

En el ejemplo siguiente podemos ver documentados y personalizados los objetos visuales y controles de una aplicación Velneo. Esta CSS es un buen recurso formativo sobre la personalización de objetos y controles de aplicaciones Velneo.

Este y el resto de los ejemplos de este capítulo son aplicables a los comandos de instrucción de proceso , y a la .

/*  --------------------------------------------------------------------------------
    INDICE
        - QCalendarWidget       CALENDARIO
        - QCheckBox             BOTON CHECK
        - QComboBox             COMBOBOX
        - QDateEdit             CAJA DE EDICIÓN DE CAMPO FECHA MODO DE EDICIÓN FECHA
        - QDateTime             CAJA DE VISUALIZACIÓN CAMPO FECHA Y HORA
        - QDateTimeEdit         CAJA DE EDICIÓN DE CAMPO FECHA Y HORA
        - QDialog               VENTANA EN CUADRO DE DIÁLOGO
        - QDockWidget           DOCK
        - QDoubleSpinBox        CAJA DE EDICIÓN DE CAMPO NUMÉRICO CON BOTONES ARRIBA Y ABAJO
        - QFrame                MARCO
        - QGroupBox             CAJA DE GRUPO
        - QHeaderView           CABECERA DE REJILLAS Y ÁRBOLES
        - QLabel                ETIQUETA DE TEXTO
        - QLineEdit             CAJA DE EDICIÓN DE TEXTO EN UNA LINEA
        - QMainWindow           VENTANA PRINCIPAL
        - QMenu                 MENU CONTEXTUAL
        - QMenuBar              BARRA DE MENU (Solo afecta a Windows)
        - QMessageBox           VENTANA DE MENSAJE
        - QNumberSpinBox        CAJA DE EDICIÓN DE CAMPO NUMÉRICO CON BOTONES ARRIBA Y ABAJO
        - QProgressBar          BARRA DE PROGRESO
        - QPushButton           BOTÓN
        - QRadioButton          BOTÓN DE RADIO
        - QScrollBar            BARRA DE SCROLL VERTICAL Y HORIZONTAL
        - QSlider               DESLIZADOR
        - QSpinBox              CAJA DE EDICIÓN DE CAMPO NUMÉRICO CON UN BOTÓN
        - QSplitter             SPLITTER
        - QStatusBar            BARRA DE ESTADO
        - QTabWidget            SEPARADOR DE FORMULARIOS (PESTAÑAS)
        - QTableView            REJILLA
        - QTextEdit             CAJA DE EDICIÓN DE TEXTO MULTI-LINEA
        - QTimeEdit             CAJA DE EDICIÓN DE HORA
        - QTitanGrid            REJILLA AVANZADA
        - QToolBar              BARRA DE HERRAMIENTAS
        - QTooltip              TOOLTIP
        - QTreeView             QTREEVIEW - ARBOL VISOR Y MENU ARBOLADO
        - QWidget#qt_calendar   CALENDARIO
        - VBoundFieldEdit       CAJA DE EDICIÓN DE CAMPO PUNTERO A MAESTRO
        - VDateLineEdit         CAJA DE EDICIÓN DE CAMPO FECHA MODO DE EDICIÓN ALFANUMÉRICO
        - VCFootView            PIE DE REJILLA
        - VListBox              LISTBOX
        - VCPVControlCasillero  CASILLERO
        - VCOverlayShadow       OVERLAY
    -------------------------------------------------------------------------------- */

/*  --------------------------------------------------------------------------------
    QCheckBox - BOTÓN CHECK
    QRadioButton - BOTÓN DE RADIO
    -------------------------------------------------------------------------------- */

QCheckBox, QRadioButton {
    color: #212121; }

QCheckBox:hover, QRadioButton:hover {
    color: #039BE5; }

QCheckBox:focus, QRadioButton:focus {
    color: #039BE5; }

QCheckBox:disabled, QRadioButton:disabled {
    color: #808080; }
        
/*  --------------------------------------------------------------------------------
    QComboBox - COMBOBOX
    QDateEdit - CAJA DE EDICIÓN DE CAMPO FECHA MODO DE EDICIÓN FECHA
    QDateTime - CAJA DE VISUALIZACIÓN CAMPO FECHA Y HORA
    QDateTimeEdit - CAJA DE EDICIÓN DE CAMPO FECHA Y HORA
    QDoubleSpinBox - CAJA DE EDICIÓN DE CAMPO NUMÉRICO CON BOTONES ARRIBA Y ABAJO
    QNumberSpinBox - CAJA DE EDICIÓN DE CAMPO NUMÉRICO CON BOTONES ARRIBA Y ABAJO
    QSpinBox - CAJA DE EDICIÓN DE CAMPO NUMÉRICO CON UN BOTÓN
    QTimeEdit - CAJA DE EDICIÓN DE HORA
    VBoundFieldEdit - CAJA DE EDICION DE CAMPO PUNTERO A MAESTRO
    VDateLineEdit - CAJA DE EDICIÓN DE CAMPO FECHA MODO DE EDICIÓN ALFANUMÉRICO
    VListBox - LISTBOX
    -------------------------------------------------------------------------------- */
    
VDataCatcherEdit, QComboBox, QDateEdit, VDateLineEdit, QDateTime, QDateTimeEdit, QDoubleSpinBox, QNumberSpinBox, QSpinBox, QTimeEdit, VBoundFieldEdit, vBoundFieldEditBrowser, VDateLineEdit,VListBox {
    background-color: #F1F3F2;
    border: 0px solid #F1F3F2;
    border-radius: 0px;
    color: #212121;
    height: 36px;
    padding-left: 12px;
    padding-right: 12px;
    selection-background-color: #01579B;
    selection-color: #FFFFFF; }

VDataCatcherEdit:hover, QComboBox:hover, QDateEdit:hover, VDateLineEdit:hover, QDateTime:hover, QDateTimeEdit:hover, QDoubleSpinBox:hover, QNumberSpinBox:hover, QSpinBox:hover, QTimeEdit:hover, VBoundFieldEditBrowser:hover,VBoundFieldEdit:hover, VListBox:hover {
    background-color: #E0E0E0;
    border: 0px 1px 0px 0px solid #01579B; }

VDataCatcherEdit:focus, QComboBox:focus, QDateEdit:focus, VDateLineEdit:focus, QDateTime:focus, QDateTimeEdit:focus, QDoubleSpinBox:focus, QNumberSpinBox:focus, QSpinBox:focus, QTimeEdit:focus, VBoundFieldEditBrowser:focus, VBoundFieldEdit:focus, VListBox:focus {
    border-bottom: 1px solid #01579B; }

VDataCatcherEdit:disabled, QComboBox:disabled, QDateEdit:disabled, VDateLineEdit:disabled, QDateTime:disabled, QDateTimeEdit:disabled, QDoubleSpinBox:disabled, QNumberSpinBox:disabled, QSpinBox:disabled, QTimeEdit:disabled, VBoundFieldEditBrowser:disabled,VBoundFieldEdit:disabled, VListBox:disabled {
    background-color: #FAFAFA;
    color: #808080; }

QDateEdit::up-button, VDateLineEdit::up-button, QDateTime::up-button, QDateTimeEdit::up-button, QTimeEdit::up-button, VBoundFieldEditBrowser::up-button, VBoundFieldEdit::up-button {
    border: none;
    image: url(":/Resources/tg_moverarriba.png");
    width: 16px;	}

QDateEdit::down-button, VDateLineEdit::down-button, QDateTime::down-button, QDateTimeEdit::down-button, QTimeEdit::down-button, VBoundFieldEditBrowser::down-button, VBoundFieldEdit::down-button {
    border: none;
    image: url(":/Resources/tg_moverabajo.png");
    width: 16px;	}

VDataCatcherEdit::drop-down, QComboBox::drop-down, QDateEdit::drop-down, VDateLineEdit::drop-down, QDateTime::drop-down, QDateTimeEdit::drop-down, VBoundFieldEditBrowser::drop-down, VBoundFieldEdit::drop-down, QTimeEdit::drop-down {
    border: none;
    image: url(":/Resources/tg_moverabajo.png");
    width: 16px; }

/* EN PRINCIPIO NO AFECTAN */

QNumberSpinBox:up-button, QDoubleSpinBox:up-button, QSpinBox:up-button {
    border: none;
    image: url(":/Resources/tg_moverarriba.png"); }

QNumberSpinBox:down-button, QDoubleSpinBox:down-button, QSpinBox:down-button {
    border: none;
    image: url(":/Resources/tg_moverabajo.png"); }

VBoundFieldEditBrowser QToolButton {
    background-color: #F5F5F5; }

VBoundFieldEditBrowser QToolButton:hover {
    background-color: #E0E0E0; }

/*  --------------------------------------------------------------------------------
    QDialog - Cuadro de diálogo
    -------------------------------------------------------------------------------- */

QDialog QPushButton {
    min-width: 120;
    text-transform: none;
    }

/*  --------------------------------------------------------------------------------
    QDockWidget - DOCK
    -------------------------------------------------------------------------------- */
    
QDockWidget {
    color: transparent;
    font-size: 10px;
    min-width:10px;
    width: 210px; }

QDockWidget::title {
    background: #FFFFFF;
    color: #212121;
    margin: 0px;
    padding: 0px;
    text-align: center; }

QDockWidget::close-button {
    image: none;
    position: absolute;
    subcontrol-origin: margin;
    subcontrol-position: top right;
    top: 0px; left: 0px; bottom: 0px;
    width: 0px; }

QDockWidget::float-button {
    image: none;
    position: absolute;
    subcontrol-origin: margin;
    subcontrol-position: top right;
    top: 0px; left: 0px; bottom: 0px;
    width: 0px; }
        
/*  --------------------------------------------------------------------------------
    QFrame - MARCO
    -------------------------------------------------------------------------------- */
        
QFrame {
    background: rgba(255, 255, 255, 100%);
    border: 0px; }
        
/*  --------------------------------------------------------------------------------
    QGroupBox - CAJA DE GRUPO
    -------------------------------------------------------------------------------- */

QGroupBox {
    background: #FAFAFA;
    border: 0px solid #212121;
    border-radius: 5px;
    font-size: 12px;
    font-weight: bold;
    margin-top: 20px;
    padding: 5px; }

QGroupBox::title {
    color: #212121;
    padding-top: -5px;
    padding-left: 5px;
    subcontrol-origin: margin; }
        
/*  --------------------------------------------------------------------------------
    QHeaderView - CABECERA DE REJILLAS Y ARBOLES
    -------------------------------------------------------------------------------- */
    
QHeaderView::section:horizontal {
    background: #FFFFFF;
    border: none;
    border-bottom: 1px solid #E0E0E0;
    border-right: 5px solid transparent;
    color: #01579B;
    font-weight: bold;
    margin-top: 10px;
    min-height: 20px; }

QHeaderView::section:vertical {
    background: #FFFFFF;
    border: none;
    border-bottom: 1px solid #E0E0E0;
    border-right: 5px solid transparent;
    color: #01579B;
    font-weight: bold;
    margin-top: 10px;
    min-height: 20px; }
    
/*  --------------------------------------------------------------------------------
    QLabel - ETIQUETA DE TEXTO
    -------------------------------------------------------------------------------- */

QLabel {
    background-color: transparent;
    color: #808080;
    font-size: 12px;
    text-transform: uppercase; }

/* TITULOS DE LOS FORMULARIOS Y MENUS */

QLabel#TXT_TIT {
    color: #01579B;
    font-size: 32px;
    text-transform: none; }

QLabel#TXT_SUB_TIT, QLabel#TXT_SUB_TIT_2 {
    color: #01579B;
    font-size: 16px;
    text-transform: none; }

QLabel#TXT_CAS {
    font-size: 10px;
    text-transform: none; }
    
QLabel#EMP {
    font-size: 16px; }

QLabel#USR {
    font-size: 12px; }

/* MENSAJE ERROR */

QLabel#NAME_VAC, QLabel#EML_ERR {
    alignement: right;
    background: transparent;
    color: #E27249;
    font-size: 10px;
    text-transform: uppercase;
    padding-left: -1px;
    padding-top: 1px; }

/* MENSAJE DUPLICADO*/

QLabel#NAME_DUP, QLabel#EML_DUP {
    alignement: right;
    background: transparent;
    color: #6388C1;
    font-size: 10px;
    padding-top: 1px;
    text-transform: uppercase; }

/*  --------------------------------------------------------------------------------
    QLineEdit - CAJA DE EDICIÓN DE TEXTO EN UNA LINEA
    QTextEdit - CAJA DE EDICIÓN DE TEXTO MULTI-LINEA
    -------------------------------------------------------------------------------- */

QLineEdit, QTextEdit {
    background-color: #F1F3F2;
    border: 0px solid #212121;
    border-radius: 0px;
    color: #212121;
    height: 36px;
    padding-left: 12px;
    padding-right: 12px;
    selection-background-color: #01579B;
    selection-color: #FFFFFF; }

QLineEdit:hover, QTextEdit:hover {
    background-color: #F1F3F2;
    border: 0px solid #01579B; }

QLineEdit:focus, QTextEdit:focus {
    background-color: #F1F3F2;
    border-bottom: 1px solid #01579B; }

QLineEdit:disabled, QTextEdit:disabled {
    background-color: #FAFAFA;
    color: #808080; }

/* CONTROL DE EDICIÓN DE TEXTOS A BUSCAR EN MENUS */

QLineEdit#TXT_BUS {
        qproperty-placeholderText: 'Texto a buscar'; }
        
/* FORMULARIO ALTA CONTACTO > TEXTO EDIT NOMBRE Y NOMBRE COMERCIAL */

QLineEdit#NAME_CON  {
        qproperty-placeholderText: 'Nombre contacto';
        qproperty-text: 'Nombre contacto'; }

QLineEdit#NOM_COM {
        margin-left: 10px; }

QTextEdit#MOTIVO {
        height: 36px; }
        
/*  --------------------------------------------------------------------------------
    QMainWindow - VENTANA PRINCIPAL
    -------------------------------------------------------------------------------- */

QMainWindow {
    background: #FFFFFF;
    border: 0px; }

QMainWindow::separator {
    background: #FFF;
    border-left: 1px solid #CECECE;
    border-right: 1px solid #CECECE;
    height: 5px;
    width: 5px; }

QMainWindow::separator:hover {
    background: #CECECE; }
        
/*  --------------------------------------------------------------------------------
    QMenu - MENU CONTEXTUAL
    -------------------------------------------------------------------------------- */

QMenu {
        background-color: #FFF;
        border: 1px solid #CECECE;
        color: #333333;
        margin: 0px;
        padding: 5px; }

QMenu::item {
        border: 1px solid transparent;
        margin: 1px;
        padding: 5px 30px 5px 20px; }

QMenu::item:selected {
        background-color: #E1F5FE;
        color:#000; }

QMenu::separator {
        background-color: #CECECE;
        height: 1px;
        margin: 0px; }
        
/*  --------------------------------------------------------------------------------
    QMenuBar - BARRA DE MENU (Solo afecta a Windows)
    -------------------------------------------------------------------------------- */

QMenuBar {
        background-color: #FFF;
        border-bottom: 1px solid #CECECE;
        min-height:20px; }

QMenuBar::item:selected {
        background-color: #CECECE;
        color: #000; }

QMenuBar::item:hover {
        background: #333333;
        color: #FFF; }
        
/*  --------------------------------------------------------------------------------
    QMessageBox - VENTANA DE MENSAJE
    QDialog - VENTANA EN CUADRO DE DIÁLOGO
    -------------------------------------------------------------------------------- */

QMessageBox, QDialog {
        background-color: #FFF; }

QMessageBox QPushButton {
        min-width: 120;
        text-transform: none; }
        
/*  --------------------------------------------------------------------------------
    QProgressBar - BARRA DE PROGRESO
    -------------------------------------------------------------------------------- */

QProgressBar {
        background-color: #FFF;
        border: 1px solid #E0E0E0;
        border-radius: 2px;
        color: #212121;
        height: 30px;
        text-align: center; }

QProgressBar::chunk {
        background-color: #C5CAE9; }
        
/*  --------------------------------------------------------------------------------
    QPushButton - BOTÓN
    -------------------------------------------------------------------------------- */

QPushButton {
    background-color: #FFFFFF;
    border: 1px solid #01579B;
    border-radius: 3px ;
    color: #01579B;
    font-size: 14px;
    font-weight: medium;
    height: 36px;
    text-align: center;
    width: 120px;
    qproperty-iconSize: 18px; }

QPushButton:hover {
    background-color: #F5F5F5; }
    
QPushButton:focus {
    background-color: #F5F5F5;
    border: 2px solid #01579B; }

QPushButton:pressed {
    background-color: #F5F5F5;
    border: 2px solid #01579B; }

QPushButton:disabled {
    background-color: #FFFFFF;
    border: 0px solid #C1C1C1;
    color: #C1C1C1; }

QPushButton::menu-indicator {
    image: none;
    width: 0px; }

/* BOTÓN ACEPTAR */

QPushButton#BTN_ACE, QPushButton#BTN_ALT_BUS {
    background-color: #01579B;
    color: #FFFFFF; }

QPushButton:hover#BTN_ACE, QPushButton:hover#BTN_ALT_BUS {
    background-color: #01579B;
    color: #E1F5FE; }

QPushButton:focus#BTN_ACE, QPushButton:focus#BTN_ALT_BUS {
    border: 2px solid #212121; }

QPushButton:pressed#BTN_ACE, QPushButton:pressed#BTN_ALT_BUS {
    border: 2px solid #212121; }

QPushButton:disabled#BTN_ACE, QPushButton:disabled#BTN_ALT_BUS {
    background-color: #C1C1C1;
    border: 0px;
    color: #FFFFFF; }

/* BOTÓN BUSCAR */

QPushButton#BTN_ALT_BUS {
    background-color: #01579B;
    color: #FFFFFF;
    radius: 3px; }

QPushButton#BTN_ALT_CHG_BUS {
    background-color: #FFFFFF;
    border: 1px solid #01579B;
    color: #01579B;
    font-size: 14px;
    height: 36px;
    radius: 3px;
    width: 240px; }

QPushButton#BTN_CNC, QPushButton#BTN_CNC_2, QPushButton#BTN_DUP, QPushButton#BTN_SUP {
    background-color: #FFFFFF;
    border: 1px solid #01579B;
    color: #01579B;
    font-size: 18px;
    height: 48px;
    radius: 3px; }

QPushButton#BTN_BUS_MEN {
    background-color: #FFFFFF;
    border: 1px solid #01579B;
    color: #01579B;
    height: 36px;
    radius: 3px; }

/* BOTÓN AMPLIAR, BOTÓN BUSCAR, BOTÓN MENU y BOTÓN REDUCIR */

QPushButton#BTN_AMP, QPushButton#BTN_AYU, QPushButton#BTN_BUS, QPushButton#BTN_MEN, QPushButton#BTN_RED {
    border-radius: 0px;
    qproperty-iconSize: 18px; }
        
/*  --------------------------------------------------------------------------------
    QScrollBar - BARRA DE SCROLL VERTICAL Y HORIZONTAL
    -------------------------------------------------------------------------------- */

QScrollBar:vertical {
    background: #FFFFFF;
    border-radius: 6px;
    padding-left: 2px;
    padding-right: 2px;
    width: 12px; }

QScrollBar:horizontal {
    background: #FFFFFF;
    border-radius: 6px;
    padding-bottom: 2px;
    padding-top: 2px;
    height: 12px;  }

QScrollBar:vertical:hover {
    background: #F5F5F5; }

QScrollBar:horizontal:hover {
    background: #F5F5F5; }

QScrollBar::handle:vertical {
    background: #C1C1C1;
    border: 2px solid transparent;
    border-radius: 4px;
    min-height: 90px; }

QScrollBar::handle:horizontal {
    background: #C1C1C1;
    border: 2px solid transparent;
    border-radius: 4px;
    min-width: 90px; }

QScrollBar::handle:hover {
    background: #808080;
    border: 2px solid transparent; }

QScrollBar::add-line:vertical {
    background: none;
    border: none; }

QScrollBar::sub-line:vertical {
    background: none;
    border: none; }

QScrollBar::add-line:horizontal {
    background: none;
    border: none; }

QScrollBar::sub-line:horizontal {
    background: none;
    border: none; }

/*  --------------------------------------------------------------------------------
    QScrollBar - Recuadro de intersección entre las scrollbar horizontal y vertical
    -------------------------------------------------------------------------------- */

QAbstractScrollArea::corner {
    background: transparent;
    border: transparent; }
        
/*  --------------------------------------------------------------------------------
    QSlider - DESLIZADOR
    -------------------------------------------------------------------------------- */

QSlider {
    background: transparent; }
        
/*  --------------------------------------------------------------------------------
    QSplitter - SPLITTER
    -------------------------------------------------------------------------------- */

QSplitter {
    background: transparent; }
        
/*  --------------------------------------------------------------------------------
    QStatusBar - BARRA DE ESTADO
    -------------------------------------------------------------------------------- */

QStatusBar {
    background-color: #FFFFFF;
    border-top: 1px solid #212121;
    qproperty-visible: false; }
        
/*  --------------------------------------------------------------------------------
    QTabWidget - SEPARADOR DE FORMULARIOS (Pestañas)
    -------------------------------------------------------------------------------- */

QTabWidget::pane {
    border-top: 1px solid #E0E0E0;
    margin:0px;
    top: 10px; }

QTabWidget::tab-bar {
    left: 10px;
    min-width: 10px;
    right: 10px;
    top: 10px; }

QTabBar::tab {
    background-color: #FFFFFF;
    color: #212121;
    font-weight: normal;
    margin-left: 5px;
    margin-right: 10px;
    padding-bottom: 3px;
    padding-left: 5px;
    padding-right: 5px;
    padding-top: 5px; }

QTabBar::tab:hover {
    border-top: 1px solid #E1F5FE; }

QTabBar::tab:focus {
    background-color: #01579B;
    color: #FFFFFF; }

QTabBar::tab:selected {
    border-bottom: 2px solid #039BE5; }

QTabBar::close-button {
    image: url(":/Resources/td_borrartodospuntos.png");
    width: 32px;
    height: 32px;
    margin: 3px; }
        
QTabBar::scroller {
    padding-top: 10px;
    width: 64px;}

QTabBar QToolButton::left-arrow {
    image: url(":/Resources/tg_buscar_ant.png");
    width: 32px;}

QTabBar QToolButton::right-arrow {
    image: url(":/Resources/tg_buscar_sig.png");
    width: 32px;}
        
/*  --------------------------------------------------------------------------------
    QTableView - REJILLA
    VCFootView - PIE DE REJILLA
    -------------------------------------------------------------------------------- */

QTableView {
    alternate-background-color: transparent;
    background-color: white;
    border: none;
    border-radius: 5px;
    color: #212121;
    font-weight: normal;
    gridline-color: transparent;
    min-height: 30px;
    selection-background-color: #E1F5FE;
    selection-color: #01579B;
    qproperty-showGrid: false; }

QTableView QTableCornerButton::section {
    background-color: transparent;
    border: 0px; }

QTableView::item:hover {
    background-color: #E1F5FE; }

QTableView::item:focus {
    border: 1px solid #F5F5F5;
    selection-background-color: #E1F5FE;
    selection-color: #01579B; }
    
/* PIE DE REJILLA */

VCFootView {
    background: transparent;
    border: none;
    border-right: 5px solid transparent;
    color: #212121;
    min-height: 30px; }

VCFootView::section:active {
    background: transparent;
    border: none;
    border-right: 5px solid transparent; }

VCFootView::section:!active {
    background: transparent;
    border: none;
    border-right: 5px solid transparent; }
        
/*  --------------------------------------------------------------------------------
    QTitanGrid - REJILLA AVANZADA
    -------------------------------------------------------------------------------- */
    
/* MARCO DE LA REJILLA */
    
Qtitan--Grid {            
    padding: 1px;
    margin: 1px;
    border: 1px solid #FFFFFF;  
    border-style: none;
    gridline-color: #F5F5F5;
    
/* COLOR DE FONDO Y FONDO PAR DE FILAS */
    background-color: #FFFFFF;                        /* Fondo de la rejilla */
    alternate-background-color: #FFFFFF;              /* Color de las líneas impares */

/* COLOR DE LA FILA SELECCIONADA */
    selection-color: #212121;                /* Color del texto del registro seleccionado */
    selection-background-color: #F5F5F5;                /* Background del registro seleccionado */

/* AERA DE LOS AGRUPAMIENTOS */
    qproperty-headerHeight: 30;                                    /* Altura de la cabecera de agrupación */  
    qproperty-headerTextColor: #212121;       /* Texto informativo de la cabecera de agrupamiento */
    qproperty-headerBrush: #FFFFFF;                   /* Color de la franja de agrupamiento */
    qproperty-headerBorderColor: #FFFFFF     ;        /* Color del borde */
    qproperty-headerBorderSize: 0;                                 /* Tamaño del borde */
    qproperty-headerBorderStyle: dot-dash;
    /* La fuente se puede establecer de dos formas. Con headerTextFont que requiere un formato concreto
    o indicando la familia y el tamaño en dos propiedades*/
    /*qproperty-headerTextFont: "Verdana,-1,20,5,0,0,0,0,0,0";*/ 
    qproperty-headerTextFontSize: 12;                              /* Tamaño de la fuente */
    qproperty-headerTextFontFamily: "Verdana";
    
/* AGRUPAMIENTOS */
    qproperty-groupColorLevel0: #E1F5FE; /* Color de fondo según el nivel de agrupamiento */
    qproperty-groupColorLevel1: #FFFFFF;
    qproperty-groupColorLevel2: #F5F5F5;
    qproperty-groupColorLevel3: #E0E0E0;
    qproperty-groupColorLevel4: magenta; 
    qproperty-groupColorLevel5: white; 
    qproperty-groupColorLevel6: white; 
    qproperty-groupColorLevel7: white;
             
/* NIVEL DE DESPLIEGUE DE AGRUPAMIENTOS */
    qproperty-keepGroupLevelExpanded: 3;
  
/* PIES DE GRUPO */
    qproperty-summaryGroupItemTextColor: red;                      /* No está operativo en la versión 26 */
    qproperty-summaryGroupItemBackgroundColor: #FFFFFF;
    qproperty-summaryGroupItemHeight: 30;
    qproperty-summaryGroupItemBorderColor: #E0E0E0;
    qproperty-summaryGroupItemBorderSize: 1;
    qproperty-summaryGroupItemBorderStyle: native;

/* PIES DE REJILLA */
    qproperty-summaryItemTextColor: blue;                          /* No está operativo en la versión 26 */
    qproperty-summaryItemBackgroundColor: #FFFFFF;
    qproperty-summaryItemHeight: 30;
    qproperty-summaryItemBorderColor: #FFFFFF;
    qproperty-summaryItemBorderSize: 1;
    qproperty-summaryItemBorderStyle: native;

/* ICONOS */
    qproperty-sortAscendingIcon: url(":/Resources/tg_moverarriba.png");
    qproperty-sortDescendingIcon: url(":/Resources/tg_moverabajo.png");
    qproperty-focusRowIndicatorIcon: url(":/Resources/tg_buscar_sig.png");
    qproperty-columnFilterToolIcon: url(":/Resources/mo_tuboficha.png");
    qproperty-columnFilterToolBoldIcon: url(":/Resources/mo_tubolista.png");
    qproperty-filterCheckBoxOnIcon: url(":/Resources/tg_moverarriba.png");
    qproperty-filterCheckBoxOffIcon: url(":/Resources/tg_moverarriba.png");
    qproperty-editorPopupOkIcon: url(":/Resources/tg_moverarriba.png");
    qproperty-editorPopupCancelIcon: url(":/Resources/td_borrartodospuntos.png");
    qproperty-editorPopupCrossIcon: url(":/Resources/tg_moverarriba.png");    

/* LÍNEA DE COLUMNAS INMOVILIZADAS */
    qproperty-fixedSeparatorWidth: 3;
    qproperty-fixedSeparatorColor: #FFFFFF;
    qproperty-fixedSeparatorStyle: dot-dash; }

/* CABECERA Y BANDA */
Qtitan--Grid::section {
    color: #01579B;
    font-weight: bold;
    border: none;
    background-color: #FFFFFF; }

/* CABECERA CON FOCO */
Qtitan--Grid::section:focus {
    background-color: #FFFFFF;
    border: 1px solid #FFFFFF; }

/* CELDAS */
Qtitan--Grid::item {
   /*background-color: red;*/                               /*Se aplica sobre los posibles colores asignados genéricamente en la rejilla al fondo o fondo par*/ 
   }

/* CELDA CON FOCO */
Qtitan--Grid::item:focus {
    background-color: #F5F5F5;                   /*Se aplica sobre los posibles colores asignados genéricamente en la rejilla al fondo o fondo par*/
    border: 1px solid #FFFFFF; }

/* MARCO DEL FOCO Y CABECERA SELECCIONADA DE AGRUPACIÓN */
Qtitan--Grid:focus {
   outline: 1px dotted #FFFFFF; }


/* FILTRO RÁPIDO */
Qtitan--Grid > Qtitan--GridColumnFilterPopup, Qtitan--Grid > Qtitan--GridColumnFilterPopup *
{
    background-color: #FFFFFF;
    color: #01579B ;
    font: 12pt "Verdana"; }

/* SELECCIÓN DE CAMPOS */
Qtitan--Grid > Qtitan--GridColumnsQuickCustomization, Qtitan--Grid > Qtitan--GridColumnsQuickCustomization *
{
    background-color: #FFFFFF;
    color: #01579B;
    font: 12pt "Verdana"; }
       
/*  --------------------------------------------------------------------------------
    QToolBar - BARRA DE HERRAMIENTAS
    -------------------------------------------------------------------------------- */

QToolBar {
    background-color: transparent;
    border: 0px;
    padding: 3px;
    spacing: 10px;
    qproperty-iconSize: 18px; }

QToolButton {
    background-color: transparent;
    border: 0px solid #212121;
    border-radius: 5px;
    color: #808080;
    font-size: 14px;
    margin-right: 0px;
    min-height: 32px;
    min-width: 32px;
    padding: 3px;
    qproperty-iconSize: 18px; }

QToolButton:hover {
    background-color: transparent;
    border: 0px solid #01579B; }

QToolButton:focus {
    border: 0px solid #039BE5; }

QToolButton:pressed {
    border: 0px solid #039BE5; }
        
QToolButton:disabled {
    background-color: #FFFFFF;
    border: 0px solid #F5F5F5;
    color: #F5F5F5; }

QToolButton::menu-indicator {
    background-color: transparent;
    color: transparent; }

QToolBar#TOOL_PRINCIPAL {
    background-color: #F1F3F2;
    border: 0px;
    padding-top: 20px;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 0px;
    spacing: 10px;
    qproperty-iconSize: 32px; }

QToolBar#TOOL_PRINCIPAL QToolButton {
    background-color: #F1F3F2;
    border: 0px solid #212121;
    border-radius: 5px;
    color: #808080;
    font-size: 14px;
    margin-right: 0px;
    min-height: 48px;
    min-width: 48px;
    padding: 12px;
    qproperty-iconSize: 32px; }

/*  --------------------------------------------------------------------------------
    QTooltip - TOOLTIP
    -------------------------------------------------------------------------------- */

QToolTip {
    align: center;
    background-color: #F5F5F5;
    border: 1px solid #212121;
    border-radius: 5px;
    color: #212121;
    vertical-align:center; }
        
/*  --------------------------------------------------------------------------------
    QTreeView - ARBOL VISOR Y MENU ARBOLADO
    -------------------------------------------------------------------------------- */

QTreeView {
    outline: 0;
    background-color: #FFFFFF;
    selection-background-color: transparent;
           selection-color: #FFFFFF;
    show-decoration-selected: 1; }

QTreeView::item {
    border-right: 0;
    color: #212121;
    margin-bottom:2px;
    margin-right:10px;
    margin-top: 1px;
    padding-bottom:2px;
    padding-top:1px; }

QTreeView::item:hover {
    border-color: transparent;
    color: #039BE5; }

QTreeView::item:selected {
    color: #01579B; }

/*  --------------------------------------------------------------------------------
    VCPVControlCasillero - CASILLERO 
    -------------------------------------------------------------------------------- */

VCPVControlCasillero VCDragTableView {
    background-color: #FFFFFF;
    border: 0px solid #F5F5F5;
    selection-background-color: #FFFFFF; }
    
VCPVControlCasillero VCDragTableView:item {
    background-color: #FFFFFF;
    border: 1px solid #F5F5F5;
    border-radius: 3px; }

VCPVControlCasillero VCDragTableView:item:hover {
    border: 1px solid #CCCCCC; }
    
VCPVControlCasillero VCDragTableView:item:focus {
    border: 1px solid #01579B;
    selection-background-color: #FFFFFF; }

/*  --------------------------------------------------------------------------------
    QCalendarWidget - CALENDARIO
    QWidget#qt_calendar - CALENDARIO
    -------------------------------------------------------------------------------- */

QWidget#qt_calendar_navigationbar {
    background-color: transparent;
    border: 2px solid #F5F5F5;
    qproperty-gridVisible: true; }
    
QWidget#qt_calendar_nextmonth {
    background: transparent;
    border: 0px solid #FFFFFF;
    qproperty-icon: url(":/Resources/tg_buscar_sig.png"); }

QWidget#qt_calendar_prevmonth {
    background: transparent;
    border: 0px solid #FFFFFF;
    qproperty-icon: url(":/Resources/tg_buscar_ant.png"); }

QWidget#qt_calendar_monthbutton, QWidget#qt_calendar_yearbutton {
    background: transparent;
    border: 0px solid #FFFFFF; }

QWidget#qt_calendar_calendarview {
    background-color: #FFFFFF;
    border: 2px solid #F5F5F5; }

QCalendarWidget {
    color: #212121;
    min-width: 300px;
    min-height: 260px; }

QCalendarWidget QSpinBox {
    background-color: #FFFFFF;
    color: #212121;
    font-size:12px;
    width: 35px; }

QCalendarWidget QSpinBox::up-button {
    subcontrol-origin: border;
    subcontrol-position: top right;
    width:30px; }

QCalendarWidget QSpinBox::down-button {
    subcontrol-origin: border;
    subcontrol-position: bottom right;
    width:30px; }

    /*  --------------------------------------------------------------------------------
	VCPVControlCasillero - CASILLERO 
	-------------------------------------------------------------------------------- */

VCPVControlCasillero VCDragTableView {
	border: 0px solid #F5F5F5;
	background-color: #E1F5FE;
	selection-background-color: #E1F5FE;
	selection-color: #212121;}
	
VCPVControlCasillero VCDragTableView:item {
	border: 1px solid #F5F5F5; }

VCPVControlCasillero VCDragTableView:item:hover {
	border: 1px solid #808080; }

VCPVControlCasillero VCDragTableView:item:focus {
	background-color: #E1F5FE;
	border: 1px solid #212121; }

VCPVControlCasillero QFrame {
	background-color: #FFFFFF; }


/*  --------------------------------------------------------------------------------
	VCOverlayShadow - OVERLAY 
	-------------------------------------------------------------------------------- */
	
VCOverlayShadow {
background-color: rgba(255, 255, 255, 5%); }

VCOverlayShadowGui {
background-color: rgba(255, 255, 255, 5%); }
    

Aplicar CSS a controles con un identificador concreto

Cuando en un formulario añadimos un control, éste siempre se crea con un identificador:

Pues bien, supongamos que lo que queremos hacer es que en la aplicación, a todos aquellos controles de edición del campo NAME de una tabla, se ponga la fuente en negrita.

Partiendo de la base de que todos los controles de todos los formularios de nuestra solución tendrán el identificador NAME, lo que haremos será, en un manejador de evento del marco disparado con la señal de post-inicializado, usar el comando interfaz: ejecutar hoja de estilo CSS, y en el código CSS, seguir la sintaxis siguiente:

"NOMBRE_CLASE#ID_CONTROL{
    Atributos
}"

Donde NOMBRE_CLASE será el nombre que tiene la clase correspondiente al control en la API de Velneo.

#ID_CONTROL será el identificador del control al que queramos aplicar el estilo.

Atributos: Serán los atributos a aplicar al control.

Ejemplo:

"VLineEdit#NAME{
     font:bold;
}"

Si queremos aplicar la CSS a otros controles del mismo tipo con otros identificadores, añadiremos éstos separados por comas:

"VLineEdit#ED_NAME,#ID_CONTRO2,#ID_CONTROL3{
     font:bold;
}"

Ahora supongamos que queremos aplicar la CSS a todos los controles de edición alfabética y a todos los controles de edición numérica cuyo identificador sea ID. Dado que se trata de clases distintas, debemos especificar ambas en la hoja de estilos a aplicar:

"VLineEdit#NAME,VNumberSpinBox#ID{
     font:bold;
}"

Aplicar una CSS de forma selectiva a objetos y subobjetos en una css general

Por ejemplo, si tenemos un formulario que se llama CLIENTES, podremos acceder mediante la clase VCPVControlFormulario#CLIENTES #, es decir:

"VCPVControlFormulario#Clientes #TXT_AMARILLO{
    color: yellow;
}
VCPVControlFormulario#Clientes #TXT_ROJO{
    color: red;
}
VCPVControlFormulario#Clientes #BTN_ACEPTAR{
    background-color: blue;
}"
"VCPVControlRejilla#CLIENTES VCTableView QHeaderView::section::horizontal{
   background-color: orange;
   border: 0px;
}"

En este caso estamos modificando la cabecera de esa rejilla, pero podríamos modificar cualquier elemento del tableview que pueda ser modificable por CSS.

"VCPVControlFormulario#CLIENTES VCVCPVControlRejilla#VIS VCTableView QHeaderView::section::horizontal{
	background-color: green;
	border: 0px;
}"

O si tuviéramos un alternador que se llamara ALTERNADOR y dentro de la vista de datos VISTA, podríamos acceder de la forma siguiente:

"VCPVControlFormulario#CLIENTES VCVCPVControlAlternadorLista#VISTA VCPVControlRejilla#CLIENTES VCTableView QHeaderView::section::horizontal{
	background-color: green;
	border: 0px;
}"

Como se puede apreciar, lo mas importante es que la vista de datos le establece al control que va a pintar su identificador y dentro de un formulario para acceder a ese objeto por tipo + identificador, hay que usar el identificador de la vista de datos en vez de el del objeto.

Wildcards en las CSS de Velneo

En las CSS de Velneo podemos hacer uso de Wildcards para poder aplicar CSS en bloque a controles que tengan un determinado identificador.

"QComboBox[objectName^='FIL'], QDateTimeEdit[objectName^='FIL'], QDoubleSpinBox[objectName^='FIL'] {
font-size: 11px;
min-height: 20px;
padding: 0px;
border-top: 1px solid #FFF;
border-left: 1px solid #FFF;
border-right: 1px solid #FFF;
border-bottom: 1px solid #EEE;
color: #4B4F54;
selection-background-color: #85B09A;
selection-color: #FFF;}
 
QComboBox[objectName^='FIL']:focus, QDateTimeEdit[objectName^='FIL']:focus, QDoubleSpinBox[objectName^='FIL']:focus {
border-width: 2px;
border-color: #85B09A;
background-color: #FFF;}"

Utilizando la notación [objectName^='FIL'] se consigue que se apliquen las etiquetas CSS a todos los controles cuyo nombre en v7 (objectName) empiece (^=) por la cadena indicada.

De esta, añadiendo objetos a los proyectos utilizando una nomenclatura correcta, ya se aplica correctamente la CSS sin modificarla.

Personalizar con css el botón menú de un control de edición de formularios

Cuando en un control de edición le asignamos un menú en la propiedad menú de botón se añade al control un botón para desplegar dicho menú:

En el caso de que queramos personalizar dicho botón por css debemos tener en cuenta que la clase que permite personalizar el botón QToolButton, pero debemos tener en cuenta que si usamos esa clase directamente, nos personalizará no solamente los botones incrustados en los controles de edición, sino también los de todas las toolbars del proyecto.

En el caso de que queramos personalizar solamente los botones de los controles de edición debemos saber que el control en el que se incrusta un botón menú se controla con la clase VAbstractBrowser, por lo tanto, lo que podrías hacer es aplicar por css un css a los QToolButton de esa clase solamente. Por ejemplo:

"VAbstractBrowser QToolButton{
 min-width: 24px;
 min-height: 24px;
 padding: 1px;
 margin-right: 1px;
 border-radius: 2px;
 background:  qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop:0 #fff, stop:1 #EEEEEE);
 border: 1px solid #CECECE;
 color: #727272;
}"

Por ejemplo, si creamos un formulario con el o con la opción generar interfaz de , asociado a una tabla maestra que contenga un campo NAME, si incluimos ese campo en el asistente, el sistema siempre lo creará con el identificador NAME.

Según explicamos en el punto , todos los controles de un formulario son accesibles mediante su identificador, pero hay un caso especial con las vistas de datos ( y ) que es lo que vamos a explicar en este punto.

Si queremos acceder a una lanzada desde una :

Ahora, ¿Qué sucede con las incrustadas en un formulario, que son controles que representa a otro objeto? La vista de datos tiene un identificador, y el objeto que se crea en esa vista de datos toma el identificador de la vista de datos, así que si suponemos que tenemos el formulario anterior (CLIENTES) con un control vista de datos que se llama VIS y dentro metemos una rejilla llamada CLIENTES, para poder modificar esa rejilla específicamente habría que acceder de la siguiente forma:

rejilla
acción
vistas de datos
formularios
rejillas
aplicar CSS a controles con un identificador concreto
creación de CSS para aplicar a objetos en edición
interfaz: establecer hoja de estilo CSS
interfaz: establecer hoja de estilo CSS filescript
Velneo vDevelop
asistente para la creación de formularios