Widget
Heredado por: VAbstractBrowser , VAbstractDataView, VBoundFieldComboBox, VBoundFieldEdit, VBoundFieldListBox, VCheckBox, VClockWidget, VComboBox, VCWebView, VDataCatcherEdit, VDateEdit, VDateTimeEdit, VDial, VGaugeWidget, VGroupBox, VImageWidget, VLabel, VLineEdit, VListBox, VNumberSpinBox, VProgressBar, VPushButton, VRadioButton, VSlider, VSplitter, VStackedWidget, VSvgButton, VSvgSlideSwitch, VSvgToggleSwitch, VSvgWidget, VTabWidget, VTextEdit, VThermometerWidget, VThumbWheel, VTimeEdit, VToolBox, VTreeMenu, VTreeWidget.
La clase base de todos los widgets/ventanas.
Indice de propiedades
Boolean acceptDrops
String accessibleDescription
String accessibleName
Boolean autoFillBackground
Number contextMenuPolicy
Boolean enabled
Boolean focus
Number focusPolicy
QFont font
Boolean fullScreen
Number height
Boolean isActiveWindow
Boolean maximized
Number maximumHeight
Number maximumWidth
Boolean minimized
Number minimumHeight
Number minimumWidth
Boolean modal
Boolean mouseTracking
String statusTip
String styleSheet
String toolTip
Boolean updatesEnabled
Boolean visible
String whatsThis
Number width
String windowIconText
Boolean windowModified
Number windowOpacity
String windowTitle
Number x
Number y
Funciones
Generales
Retorno
Función
Boolean
close()
void
hide()
void
lower()
void
raise()
void
repaint()
void
setDisabled( Boolean disable )
void
setEnabled( Boolean enable )
void
setFocus()
void
setHidden( Boolean hidden )
void
setStyleSheet( String szStyleSheetText )
void
setVisible( Boolean visible )
void
setWindowModified( Boolean modified )
void
setWindowTitle( String szTitle )
void
show()
void
void
void
void
void
update()
De calendario
void setCalendarStyle(String colorFondo, String colorTexto, String DíasSemana, String CadenaDiaMeses, Array fechas)
Señales
Señal
Gana foco
Pierde foco
Ratón: botón doble-click
Ratón: botón pulsado
Ratón: botón soltado
Ratón: movimiento
Tecla pulsada
Tecla soltada
Ventana movida
Ventana redimensionada
Documentación de propiedades
acceptDrops
Establece si el widget o control permite evento drop. Estableciendo esta propiedad a verdadero, anunciamos al sistema que el widget es capaz de aceptar el evento drop si está disponible.
accessibleDescription
Contiene la descripción del widget tal y como la ven las tecnologías de asistencia a la accesibilidad.
accessibleName
Contiene el nombre del widget tal y como la ven las tecnologías de asistencia a la accesibilidad.
autoFillBackground
Devuelve true si el fondo del widget se rellena automáticamente.
contextMenuPolicy
Contiene el valor numérico que identifica cómo el widget muestra el menú de contexto.
enabled
Indica si el widget está habilitado. Un widget habilitado gestiona las acciones de teclado y ratón. Un widget deshabilitado no. Algunos widgets se muestran de forma distinta en función de si están deshabilitados, por ejemplo, mostrándose en gris.
focus
Contiene si el widget tiene el foco para recibir el input del teclado.
focusPolicy
Contiene la forma en que el widget acepta el foco para el teclado. Ver enum FocusPolicy de la clase QWidget de Qt.
font
Devuelve un objeto QFont con la fuente del control.
Ejemplo de como poner en negrita la fuente de un control:
var edit = theRoot.dataView().control("EDIT");
var fontedit = edit.font;
fontedit.setBold(true);
edit.font = fontedit;
fullScreen
Contiene si el widget se muestra en modo pantalla completa. Un widget en pantalla completa ocupa todo el área de la pantalla y no muestra decoraciones de ventana como la barra de título.
height
Contiene el alto del widget excluyendo el marco de la ventana.
isActiveWindow
Contiene si la ventana en la que se encuentra el widget es la ventana activa. La ventana activa es la ventana que contiene el widget que tiene el foco del teclado (la ventana puede tener foco aunque no tenga widgets o los que tenga no acepten foco del teclado). Cuando una ventana de popup está visible, la propiedad es verdadera tanto para la ventana activa como para la ventana del popup.
maximized
Contiene si el widget está maximizado. Esta información únicamente es relevante para Windows. Debido a limitaciones en determinados sistemas operativos, esta propiedad no siempre reporta los resultados esperados (por ejemplo, si el usuario en Linux con X11 maximiza la ventana vía el gestor de ventanas, no hay forma de distinguir esto de un cambio de tamaño cualquiera).
maximumHeight
Contiene el alto máximo del widget en píxeles.
maximumWidth
Contiene el ancho máximo del widget en píxeles.
minimized
Contiene si el widget está minimizado. Esta propiedad sólo es relevante en Windows.
minimumHeight
Contiene la altura mínima del widget en píxeles.
minimumWidth
Contiene el ancho mínimo del widget en píxeles.
modal
Contiene si el widget es modal. Esta propiedad sólo tiene sentido en Windows. Un widget modal previene que los widgets de otras ventanas puedan tener input.
mouseTracking
Contiene si está habilitado el seguimiento del ratón. Si el seguimiento del ratón está desactivado, el widget sólo recibe los eventos de movimiento del ratón cuando por lo menos uno de los botones del ratón está presionado mientras e mueve el ratón. Si el seguimiento del ratón está activado, el widget recibe los eventos de movimiento del ratón aunque los botones no estén apretados.
statusTip
Contiene el texto de la barra de estado del widget.
styleSheet
Contiene la hoja de estilo del widget. La hoja de estilo contiene una descripción de las personalizaciones en texto del estilo del widget tal y como se definen las hojas de estilo.
toolTip
Contiene el texto de tooltip.
updatesEnabled
Contiene si el repintado está habilitado.
visible
Contiene si el wigdet es visible.
whatsThis
Devuelve la información de ayuda.
width
Contiene el ancho del widget excluyendo cualquier marco que lo incluya.
windowIconText
Contiene el texto de icono del widget. Esta propiedad sólo tiene sentido en Windows. Si no hay texto de icono, la función retorna una cadena vacía.
windowModified
Devuelve true si el documento mostrado en la ventana tiene cambios pendientes.
windowOpacity
Contiene el nivel de opacidad de la ventana. El rango válido es desde 1.0 (completamente opaco) hasta 0.0 (completamente transparente).
windowTitle
Contiene el título de la ventana (caption). Esta propiedad sólo tiene sentido para widgets de primer nivel, tales como ventanas o cuadros de diálogo.
x
Contiene la coordenada x de la posición del widget relativa a su padre, incluyendo los marcos.
y
Contiene la coordenada y de la posición del widget relativa a su padre, incluyendo los marcos.
Documentación de funciones
Funciones generales
Boolean close()
Cierra el widget. Retorna verdadero si el widget pudo ser cerrado, en caso contrario false.
void hide()
Oculta el widget. Esta función es equivalente a setVisible( false ).
void lower()
Baja el widget hasta el fondo del widget padre. Después de llamar a esta función, se encontrará visualmente detrás (y por tanto oculto) de los widgets hermanos.
void raise()
Sube el widget arriba del todo del widget padre. Después de llamar a esta función el widget estará visualmente delante de otros widgets hermanos.
void repaint()
Repinta el widget inmediatamente. Se recomienda usar esta función sólo si se desean realizar animaciones, para el resto de casos se recomienda el uso de la función update().
void setDisabled( Boolean disable )
Inhabilita la entrada de eventos si está como verdadero, en caso contrario, permitirá la entrada de eventos.
Parámetros:
disable: booleano que configura si está deshabilitado. true deshabilita, false habilita.
void setEnabled( Boolean enable )
Habilita la entrada de eventos si está como verdadero, en caso contrario, no permitirá la entrada de eventos.
Parámetros:
enable: booleano que configura si está habilitado. true habilita, false deshabilita.
void setFocus()
Lleva el foco del teclado al widget si este widget o uno de sus padres es una ventana activa. Si la ventana no está activa, el widget recibirá el foco cuando la ventana se convierta en activa.
void setHidden( Boolean hidden )
Oculta el widget. Equivalente a setVisible(!hidden).
Parámetros:
hidden: booleano que configura si se oculta. true oculta, false muestra.
void setStyleSheet( String szStyleSheetText )
Establece la hoja de estilo css para el widget.
Parámetros:
szStileSheetText: cadena que contiene el código CSS que se aplicará.
void setVisible( Boolean visible )
Muestra el widget. Equivalente a setHidden(!shown).
Parámetros:
shown: booleano que configura si se muestra. true muestra, false oculta.
void setWindowModified( Boolean modified )
Establece que ha habido modificaciones en el widget que están pendientes de guardar.
Parámetros:
modified: booleano que configura si ha habido modificaciones. true establece que ha habido modificaciones, false establece que no ha habido modificaciones.
void setWindowTitle( String szTitle )
Establece el título de la ventana (caption). Ver más información en la propiedad windowTitle.
Parámetros:
szTitle: cadena que se utilizará como título.
void show()
Muestra el widget y los widgets hijos. Es equivalente a la función SetVisible( true ).
void showFullScreen()
Muestra el widget en modo pantalla completa. Esta función sólo tiene sentido en ventanas. Para retornar del modo pantalla completa, debemos llamar a la función showNormal(). El modo pantalla completa funciona bien en Windows, pero tiene ciertos problemas bajo X11. Estos problemas se deben a limitaciones del protocolo ICCCM que especifica la comunicación entre los clientes X11 y el gestor de ventanas. ICCCM simplemente no entiende el concepto de ventanas a pantalla completa y no decoradas. Por tanto, la mejor manera de hacer esto en Linux es mover la ventana y cambiar el tamaño para ocupar la pantalla completa. Dependiendo del gestor de ventana, esto podría funcionar o no.
void showMaximized()
Muestra el widget maximizado. Esta función sólo puede usarse con ventanas. En X11, esta función puede no funcionar como esperamos con ciertos gestores de ventanas.
void showMinimized()
Muestra el widget minimizado, como un icono. Esta función sólo se puede usar con ventanas.
void showNormal()
Restaura el widget después de haber sido maximizado o minimizado.
void update()
Refresca el widget excepto en el caso de que esté inhabilitado el refresco o esté oculto. Esta función no fuerza un repintado automático, en vez de esto programa un evento de pintado que se realizará junto con el resto de eventos que estén pendientes, optimizando el repintado.
Funciones de calendario
void setCalendarStyle(String colorFondo, String colorTexto, String DíasSemana, String CadenaDiaMeses, Array fechas)
Permite configurar la interfaz de los días de un control de tipo calendario. Equivale al comando de instrucción de proceso Interfaz: Establecer estilo de los días de calendarios.
Parámetros:
colorFondo: cadena con el color de fondo a aplicar al calendario. Podemos especificar, o bien su valor hexadecimal (ejemplo:
"#FFFFFF"
), o bien su nombre (ejemplo:"white"
). Este parámetro es opcional. Si no se especifica, no se aplicará ningún color de fondo al día o días que se configuren en el resto de los parámetros de la función.String colorTexto: cadena con el color de texto a aplicar al calendario. Podemos especificar, o bien su valor hexadecimal (ejemplo:
"#FFFFFF"
), o bien su nombre (ejemplo:"white"
). Este parámetro es opcional. Si no se especifica, no se aplicará ningún color de texto al día o días que se configuren en el resto de los parámetros de la función.String DíasSemana: cadena con los números de día de 1 a 7 o letras para los días a los que se aplicará el estilo separados por comas:
De 1 a 7, día de la semana de lunes a domingo.
"H"
o"T"
para aplicar estilo al día de hoy (admitir mayúsculas y minúsculas). Ejemplo:"1,2,3,4,5"
."S"
para aplicar estilo al día seleccionado en el calendario (admitir mayúsculas y minúsculas).Este parámetro es opcional, si no se especifica, no se aplicará a ningún día.
String CadenaDiaMeses: cadena con los días y meses del año a los que se aplicará el estilo en todos los años, separados por comas y con el formato (d/M), ejemplo:
"1/1,02/02,10/10"
. Este parámetro es opcional, si no se especifica nada, no se aplicará a ningún día/mes en concreto.Array fechas: En este parámetro podremos especificar, o bien un dato de tipo fecha o bien un array con las fechas a las que aplicar el estilo. Este parámetro es opcional, si no lo aplicamos, no se aplicarán los colores configurados a ninguna fecha concreta.
Es funcional solamente en el nuevo motor Javascript, así que, para poder usarla, se debería activar la clave beta jsEngine en cada estación cliente.
Ejemplos
1. Poner en negrita la fuente de un control
2. Manejador de evento que pone en negrita el texto del botón que lo dispara
3. Personalizar los colores de texto de un calendario de un control de edición de fecha con botón menú y calendario
En un manejador de evento de un formulario vamos a personalizar los siguientes colores de días del calendario de un control de tipo calendario. Personalizaremos los colores de los siguientes días:
Días laborables (de lunes a viernes).
Fines de semana y festivos (sábados, domingos y festivos del año).
Para destacar los días 1 de cada mes.
Para destacar el día actual.
Para destacar el día seleccionado en el calendario.
Además, disponemos de una variable local array con las fechas de los días festivos del año.