En esta página

Qt Quick Controls QML Types

Qt Quick Controls proporciona tipos QML para crear interfaces de usuario. Estos tipos QML funcionan conjuntamente con Qt Quick y Qt Quick Layouts.

Qt Quick Controls Los tipos QML pueden importarse a su aplicación utilizando la siguiente sentencia import en su archivo .qml:

import QtQuick.Controls

Tipos QML

AbstractButton

Tipo base abstracto que proporciona funcionalidad común a los botones

Action

Acción abstracta de interfaz de usuario

ActionGroup

Agrupa acciones

ApplicationWindow

Ventana de nivel superior con estilo que admite encabezado y pie de página

BusyIndicator

Indica actividad en segundo plano, por ejemplo, mientras se carga el contenido

Button

Botón que puede pulsarse para ejecutar un comando o responder a una pregunta

ButtonGroup

Grupo de botones seleccionables que se excluyen mutuamente

Calendar

Un espacio de nombres de calendario

CalendarModel

Un modelo de calendario

CheckBox

Botón de verificación que puede activarse o desactivarse

CheckDelegate

Elemento delegado con un indicador de verificación que puede activarse o desactivarse

ComboBox

Botón y lista emergente combinados para seleccionar opciones

Container

Tipo base abstracto que proporciona funciones comunes a los contenedores

ContextMenu

El tipo adjunto permite abrir un menú contextual de forma adecuada a la plataforma

Control

Tipo base abstracto que proporciona una funcionalidad común a todos los controles

DayOfWeekRow

Una fila con los nombres de los días de la semana

DelayButton

Botón de verificación que se activa cuando se mantiene pulsado el tiempo suficiente

Dial

Esfera circular que se gira para fijar un valor

Dialog

Cuadro de diálogo emergente con botones estándar y un título, utilizado para la interacción a corto plazo con el usuario.

DialogButtonBox

Botonera utilizada en los cuadros de diálogo

DoubleSpinBox

Permite al usuario seleccionar entre un conjunto de valores de coma flotante preestablecidos.

Drawer

Panel lateral que puede abrirse y cerrarse mediante un gesto de deslizamiento.

Frame

Marco visual de un grupo lógico de controles

GroupBox

Marco visual y título para un grupo lógico de controles

HorizontalHeaderView

Proporciona una vista de cabecera horizontal para acompañar a una TableView

HorizontalHeaderViewDelegate

ItemDelegate

Delegado de elemento básico que puede utilizarse en varias vistas y controles

Label

Etiqueta de texto con estilo y fuente heredada

Menu

Ventana emergente que puede utilizarse como menú contextual o menú emergente

MenuBar

Proporciona una barra de menú de ventana

MenuBarItem

Presenta un menú desplegable dentro de una MenuBar

MenuItem

Presenta un elemento dentro de un Menú

MenuSeparator

Separa un grupo de elementos de un menú de los elementos adyacentes

MonthGrid

Una cuadrícula de días para un mes natural

Overlay

Una ventana superpuesta para ventanas emergentes

Page

Control de página con estilo que admite encabezado y pie de página

PageIndicator

Indica la página activa en ese momento

Pane

Proporciona un fondo que coincide con el estilo y el tema de la aplicación

Popup

Tipo de base de los controles de interfaz de usuario de tipo emergente

ProgressBar

Indica el progreso de una operación

RadioButton

Botón de radio exclusivo que puede activarse o desactivarse

RadioDelegate

Delegado de elemento exclusivo con un indicador de radio que puede activarse o desactivarse

RangeSlider

Se utiliza para seleccionar un intervalo de valores deslizando dos tiradores a lo largo de una pista

RoundButton

Botón de control con esquinas redondeadas en el que el usuario puede hacer clic

ScrollBar

Barra de desplazamiento interactiva vertical u horizontal

ScrollIndicator

Indicador de desplazamiento vertical u horizontal no interactivo

ScrollView

Vista desplazable

SearchField

Un campo de entrada especializado diseñado para la función de búsqueda

SelectionRectangle

Se utiliza para seleccionar celdas de tabla dentro de una TableView

Slider

Se utiliza para seleccionar un valor deslizando un tirador a lo largo de una pista

SpinBox

Permite al usuario seleccionar entre un conjunto de valores preestablecidos

SplitHandle

Proporciona propiedades adjuntas para los tiradores SplitView

SplitView

Muestra los elementos con un divisor que se puede arrastrar entre cada elemento

StackView

Proporciona un modelo de navegación basado en pilas

SwipeDelegate

Delegado de elemento deslizable

SwipeView

Permite al usuario navegar por las páginas deslizando el dedo hacia los lados

Switch

Botón que se puede activar o desactivar

SwitchDelegate

Delegado de elemento con un indicador de conmutación que puede activarse o desactivarse

TabBar

Permite al usuario cambiar entre distintas vistas o subtareas

TabButton

Botón con un aspecto adecuado para una TabBar

TableViewDelegate

Delegado que puede asignarse a una TableView

TextArea

Área de entrada de texto multilínea

TextField

Campo de entrada de texto de una línea

ToolBar

Contenedor para controles contextuales

ToolButton

Botón con aspecto de barra de herramientas

ToolSeparator

Separa un grupo de elementos de una barra de herramientas de los elementos adyacentes.

ToolTip

Proporciona sugerencias para cualquier control

TreeViewDelegate

Un delegado que puede asignarse a un TreeView

Tumbler

Rueda giratoria de elementos seleccionables

VerticalHeaderView

Ofrece una vista de cabecera vertical para acompañar a una TableView

VerticalHeaderViewDelegate

WeekNumberColumn

Una columna de números de semana

Utilización de los tipos Qt Quick Controls en las declaraciones de propiedades

Como se menciona en Qt Quick Templates 2 QML Typescada tipo en Qt Quick Controls está respaldado por un tipo "plantilla" C++. Estos tipos son implementaciones no visuales de la lógica y el comportamiento de los controles.

Por ejemplo, la API y el comportamiento del tipo Menu están definidos por el tipo C++ en Qt Quick Plantillas. Cada estilo que quiera proporcionar un Menú debe tener un Menu.qml disponible, y el elemento raíz de ese archivo debe ser el Menú de Qt Quick Templates. Cuando se importa QtQuick.Controls y se crea un Menú en QML, el tipo que se obtiene es en realidad el Menú QML definido por el Menu.qml del estilo.

Para utilizar un control como tipo en una declaración de propiedad, debe utilizar el tipo correspondiente de las plantillas de Qt Quick. Por ejemplo, supongamos que tenemos un componente PopupOpener, que es un Botón que abre un Popup:

// PopupButton.qml
import QtQuick.Controls

Button {
    required property Popup popup

    onClicked: popup.open()
}

// main.qml
PopupButton {
    popup: saveChangesDialog
}

Dialog {
    id: saveChangesDialog

    // ...
}

Al ejecutar este código se producirá un error:

Unable to assign Dialog_QMLTYPE to Popup_QMLTYPE

Esto se debe a la jerarquía de herencia:

Popup (C++ type in QtQuick.Templates)
│   └── Popup (QML type in QtQuick.Controls)
└── Dialog (C++ type in QtQuick.Templates)
    └── Dialog (QML type in QtQuick.Controls)

Dialog de QtQuick.Controls no deriva de Popup de QtQuick.Controls, sino de QtQuick.Templates.

En su lugar, utilice las plantillas Popup de Qt Quick como tipo de propiedad:

// PopupButton.qml
import QtQuick.Controls
import QtQuick.Templates as T

Button {
    required property T.Popup popup

    onClicked: popup.open()
}

Para más información sobre el módulo Qt Quick Controls, consulte la documentación del módulo Qt Quick Controls documentación del módulo.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.