Popup QML Type
Tipo base de los controles de interfaz de usuario tipo popup. Más...
| Import Statement: | import QtQuick.Controls |
| Inherits: | |
| Inherited By: |
Propiedades
- activeFocus : bool
- anchors.centerIn : Item
(since QtQuick.Controls 2.5 (Qt 5.12)) - availableHeight : real
- availableWidth : real
- background : Item
- bottomInset : real
(since QtQuick.Controls 2.5 (Qt 5.12)) - bottomMargin : real
- bottomPadding : real
- clip : bool
- closePolicy : enumeration
- contentChildren : list<Item>
- contentData : list<QtObject>
- contentHeight : real
- contentItem : Item
- contentWidth : real
- dim : bool
- enabled : bool
(since QtQuick.Controls 2.3 (Qt 5.10)) - enter : Transition
- exit : Transition
- focus : bool
- font : font
- height : real
- horizontalPadding : real
(since QtQuick.Controls 2.5 (Qt 5.12)) - implicitBackgroundHeight : real
(since QtQuick.Controls 2.5 (Qt 5.12)) - implicitBackgroundWidth : real
(since QtQuick.Controls 2.5 (Qt 5.12)) - implicitContentHeight : real
(since QtQuick.Controls 2.5 (Qt 5.12)) - implicitContentWidth : real
(since QtQuick.Controls 2.5 (Qt 5.12)) - implicitHeight : real
- implicitWidth : real
- leftInset : real
(since QtQuick.Controls 2.5 (Qt 5.12)) - leftMargin : real
- leftPadding : real
- locale : Locale
- margins : real
- mirrored : bool
(since QtQuick.Controls 2.3 (Qt 5.10)) - modal : bool
- opacity : real
- opened : bool
(since QtQuick.Controls 2.3 (Qt 5.10)) - padding : real
- palette : palette
(since QtQuick.Controls 2.3 (Qt 5.10)) - parent : Item
- popupType : enumeration
(since 6.8) - rightInset : real
(since QtQuick.Controls 2.5 (Qt 5.12)) - rightMargin : real
- rightPadding : real
- scale : real
- spacing : real
(since QtQuick.Controls 2.1 (Qt 5.8)) - topInset : real
(since QtQuick.Controls 2.5 (Qt 5.12)) - topMargin : real
- topPadding : real
- transformOrigin : enumeration
- verticalPadding : real
(since QtQuick.Controls 2.5 (Qt 5.12)) - visible : bool
- width : real
- x : real
- y : real
- z : real
Señales
- void aboutToHide()
- void aboutToShow()
- void closed()
- void opened()
Métodos
- void close()
- void forceActiveFocus(enumeration reason)
- void open()
Descripción detallada
Popup es el tipo base de los controles de interfaz de usuario tipo popup. Puede utilizarse con Window o ApplicationWindow.
import QtQuick.Window import QtQuick.Controls ApplicationWindow { id: window width: 400 height: 400 visible: true Button { text: "Open" onClicked: popup.open() } Popup { id: popup x: 100 y: 100 width: 200 height: 300 modal: true focus: true closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent } }
El Popup no proporciona un diseño propio, sino que es necesario posicionar su contenido, por ejemplo creando un RowLayout o un ColumnLayout.
Los elementos declarados como hijos de un Popup se vinculan automáticamente al contentItem del Popup. Los elementos creados dinámicamente deben estar explícitamente vinculados a contentItem.
Diseño de Popups
El siguiente diagrama ilustra la disposición de una ventana emergente dentro de una ventana:

Las propiedades implicitWidth y implicitHeight de una ventana emergente se basan normalmente en los tamaños implícitos del fondo y del elemento de contenido, más cualquier inserto y relleno. Estas propiedades determinan el tamaño de la ventana emergente cuando no se especifica explícitamente width o height.
La geometría de contentItem viene determinada por el relleno. El siguiente ejemplo reserva 10px de relleno entre los límites de la ventana emergente y su contenido:
El elemento background ocupa toda la anchura y la altura de la ventana emergente, a menos que se le hayan asignado inserciones o un tamaño explícito.
Se pueden utilizar inserciones negativas para que el fondo sea mayor que la ventana emergente. El siguiente ejemplo utiliza inserciones negativas para colocar una sombra fuera de los límites de la ventana emergente:
Popup { topInset: -2 leftInset: -2 rightInset: -6 bottomInset: -6 background: BorderImage { source: ":/images/shadowed-background.png" } }
Tipo de ventana emergente
Desde Qt 6.8, algunos popups, como Menu, ofrecen tres implementaciones diferentes, dependiendo de la plataforma. Puedes elegir la que prefieras configurando popupType.
Que una ventana emergente pueda utilizar el tipo preferido depende de la plataforma. Popup.Item es compatible con todas las plataformas, pero Popup.Window y Popup.Native normalmente sólo son compatibles con las plataformas de escritorio. Además, si una ventana emergente es un Menu dentro de un native menubar, el menú también será nativo. Y si el menú es un submenú dentro de otro menú, el menú padre (o raíz) decidirá el tipo.
Mostrar una ventana emergente como elemento
Configurando popupType a Popup.Item, la ventana emergente no se mostrará como una ventana separada, sino como un ítem dentro de la misma escena que el ítem padre. Este elemento está vinculado a la escena overlay, y su estilo se asemeja al de una ventana real.
Esta opción es especialmente útil en plataformas que no soportan múltiples ventanas. También era la única opción antes de Qt 6.8.
Para asegurarse de que una ventana emergente se muestra por encima de otros elementos de la escena, se recomienda utilizar ApplicationWindow. ApplicationWindow también proporciona efectos de atenuación de fondo.
Mostrar una ventana emergente como una ventana independiente
Estableciendo popupType en Popup.Window, la ventana emergente se mostrará dentro de una ventana de nivel superior window configurada con la bandera Qt::Popup. Utilizar una ventana para mostrar una ventana emergente tiene la ventaja de que la ventana flotará sobre la ventana principal y puede colocarse fuera de su geometría. Por lo demás, la ventana emergente tendrá el mismo aspecto que cuando se utiliza Popup.Item, es decir, utilizará los mismos delegados y estilos QML que cuando se utiliza Popup.Item.
Nota: si la plataforma no admite Popup.Window, se utilizará Popup.Item como alternativa.
Mostrar una ventana emergente nativa
Estableciendo popupType en Popup.Native, la ventana emergente se mostrará utilizando una ventana emergente nativa de la plataforma. Esta ventana, y todos sus contenidos, serán renderizados por la plataforma, y no por QML. Esto significa que los delegados QML asignados a la ventana emergente no se utilizarán para el renderizado. Si, por ejemplo, utiliza esta opción en Menu, se implementará utilizando las API de menú específicas de la plataforma. Normalmente, esto hará que la ventana emergente tenga un aspecto más nativo que, por ejemplo, Popup.Window, pero, al mismo tiempo, sufrirá las limitaciones de la plataforma y las diferencias relacionadas con el aspecto y el comportamiento. Dichas limitaciones se documentan con más detalle en las subclases afectadas, como por ejemplo Menu).
Nota: Si la plataforma no soporta Popup.Native, se utilizará Popup.Window como alternativa.
Tamaño de las ventanas emergentes
Si se utiliza un único elemento dentro de un Popup, éste cambiará de tamaño para ajustarse al tamaño implícito de su elemento contenido. Esto lo hace especialmente adecuado para su uso junto con diseños.
Popup { ColumnLayout { anchors.fill: parent CheckBox { text: qsTr("E-mail") } CheckBox { text: qsTr("Calendar") } CheckBox { text: qsTr("Contacts") } } }
A veces puede haber dos elementos dentro del Popup:
Popup { SwipeView { // ... } PageIndicator { anchors.horizontalCenter: parent.horizontalCenter anchors.bottom: parent.bottom } }
En este caso, el Popup no puede calcular un tamaño implícito razonable. Dado que estamos anclando PageIndicator sobre SwipeView, podemos simplemente ajustar el tamaño del contenido al tamaño implícito de la vista:
Popup { contentWidth: view.implicitWidth contentHeight: view.implicitHeight SwipeView { id: view // ... } PageIndicator { anchors.horizontalCenter: parent.horizontalCenter anchors.bottom: parent.bottom } }
Nota: Cuando se utiliza popup items, la ventana emergente content item se emparenta con overlay, y no vive dentro de la ventana emergente padre. Por ello, un scale aplicado al árbol en el que vive el popup no se aplica al popup visual. Para que la ventana emergente de, por ejemplo, ComboBox siga la escala del combobox, aplique también la misma escala a overlay:
Window { property double scaleFactor: 2.0 Scale { id: scale xScale: scaleFactor yScale: scaleFactor } Item { id: scaledContent transform: scale ComboBox { id: combobox // ... } } Overlay.overlay.transform: scale }
Posicionamiento del popup
Al igual que los elementos de Qt Quick, las coordenadas de los popups x y y son relativas a su padre. Esto significa que al abrir un popup que es hijo de un Button, por ejemplo, el popup se posicionará en relación al botón.
El siguiente ejemplo utiliza la propiedad adjunta Overlay.overlay para posicionar un popup en el centro de la ventana, a pesar de la posición del botón que abre el popup:
Button { onClicked: popup.open() Popup { id: popup parent: Overlay.overlay x: Math.round((parent.width - width) / 2) y: Math.round((parent.height - height) / 2) width: 100 height: 100 } }
Otra forma de centrar una ventana emergente en la ventana independientemente de su elemento padre es utilizar anchors.centerIn:
ApplicationWindow { id: window // ... Pane { // ... Popup { anchors.centerIn: Overlay.overlay } } }
Para asegurarse de que la ventana emergente se sitúa dentro de los límites de la ventana que la rodea, la propiedad margins puede establecerse a un valor no negativo.
Utilización de la superposición
En los casos en los que no se utiliza popup windows, Popup establece su contentItem's visual parent para que sea la ventana overlay, con el fin de garantizar que el popup aparezca delante de todo lo demás en la escena. Su tarea principal es interceptar eventos para evitar la entrega a elementos bajo una ventana emergente modal, y cerrar la ventana emergente de acuerdo con su closePolicy.
En algunos casos, puede ser útil poner un elemento delante de un popup, como un virtual keyboard. Actualmente, esto sólo puede hacerse estableciendo el padre del elemento en la superposición, y asegurándose de que el elemento se apila antes que cualquier elemento del popup, lo que garantiza un valor positivo de z.
Por lo general, no se recomienda utilizar la superposición de este modo, ya que no se diseñó para este fin y el comportamiento no será coherente al cambiar popupType.
Popup {
id: popup
visible: true
anchors.centerIn: parent
margins: 10
closePolicy: Popup.CloseOnEscape
ColumnLayout {
TextField {
placeholderText: qsTr("Username")
}
TextField {
placeholderText: qsTr("Password")
echoMode: TextInput.Password
}
}
}
InputPanel {
parent: Overlay.overlay
width: parent.width
y: popup.y + popup.topMargin + (window.activeFocusItem?.y ?? 0) + (window.activeFocusItem?.height ?? 0)
z: 1
}Transiciones emergentes
Una vez finalizada la transición de salida, estas propiedades se restablecerán a sus valores anteriores al inicio de la transición de entrada.
Esto permite a los estilos incorporados animar sobre estas propiedades sin perder ningún valor definido explícitamente.
Manejo de Eventos Atrás/Salir
Por defecto, un Popup se cerrará si:
- Tiene activeFocus,
- Su closePolicy es
Popup.CloseOnEscape, y - El usuario presiona la secuencia de teclas para QKeySequence::Cancel (típicamente la tecla Escape)
Para evitar que esto ocurra, o bien
- No le dé a la ventana emergente focus.
- Establezca el valor closePolicy de la ventana emergente en un valor que no incluya
Popup.CloseOnEscape. - Maneje la señal Keys' escapePressed en un elemento hijo del popup para que reciba el evento antes que el Popup.
Propagación de propiedades
El Popup hereda las fuentes, paletas y propiedades adjuntas a través de su ventana padre, no de su objeto o padre visual:
import QtQuick.Controls.Basic ApplicationWindow { width: 500 height: 500 visible: true font.pixelSize: 20 palette.windowText: "steelblue" // This will have a pixelSize of 20 and be "steelblue" in color. header: Label { text: "ApplicationWindow Label" leftPadding: 20 topPadding: 20 } Pane { width: 400 height: 400 anchors.centerIn: parent palette.window: "#edf3f8" palette.windowText: "tomato" // This will have a pixelSize of 20 and be "tomato" in color. Label { text: "Pane Label" } Popup { width: 300 height: 300 anchors.centerIn: parent font.pixelSize: 10 visible: true // This will have a pixelSize of 10 and "steelblue" in color. Label { text: "Popup Label" } Popup { width: 200 height: 200 anchors.centerIn: parent visible: true // This will have a pixelSize of 20 and be "steelblue" in color. Label { text: "Child Popup Label" } } } } }

Además, los popups no propagan sus propiedades a los popups hijos. Este comportamiento sigue el modelo de Qt Widgets, donde un widget Qt::Popup es una ventana de nivel superior. Las ventanas de nivel superior no propagan sus propiedades a las ventanas secundarias.
Ciertos tipos derivados como ComboBox son típicamente implementados de tal manera que el popup es considerado una parte integral del control, y como tal, puede heredar cosas como propiedades adjuntas. Por ejemplo, en el estilo Material ComboBox, el tema y otras propiedades adjuntas son heredadas explícitamente por el Popup del propio ComboBox:
popup: T.Popup { // ... Material.theme: control.Material.theme Material.accent: control.Material.accent Material.primary: control.Material.primary }
Por lo tanto, para asegurarse de que un popup hijo tiene los mismos valores de propiedad que su popup padre, establezca explícitamente esas propiedades:
Comportamiento polaco de los Popups cerrados
Cuando una ventana emergente se cierra, no tiene ventana asociada, ni tampoco sus elementos hijos. Esto significa que cualquier elemento hijo no será polished hasta que se muestre la ventana emergente. Por esta razón, no puede, por ejemplo, confiar en un ListView dentro de un Popup cerrado para actualizar su propiedad count:
import QtQuick import QtQuick.Controls ApplicationWindow { width: 640 height: 480 visible: true SomeModel { id: someModel } Button { text: view.count onClicked: popup.open() } Popup { id: popup width: 400 height: 400 contentItem: ListView { id: view model: someModel delegate: Label { text: display required property string display } } } }
En el ejemplo anterior, el texto del botón no se actualizará cuando se añadan o eliminen filas de someModel después de component completion mientras la ventana emergente esté cerrada.
En su lugar, se puede añadir una propiedad count a SomeModel que se actualice cada vez que se emitan las señales rowsInserted, rowsRemoved y modelReset. El Button puede entonces vincular esta propiedad a su text.
Véase también Controles de ventanas emergentes, Personalización de ventanas emergentes y ApplicationWindow.
Documentación de propiedades
activeFocus : bool [read-only]
Esta propiedad indica si la ventana emergente tiene el foco activo.
Véase también focus y Keyboard Focus en Qt Quick.
anchors.centerIn : Item [since QtQuick.Controls 2.5 (Qt 5.12)]
Los anclajes permiten posicionar un elemento especificando su relación con otros elementos.
Un caso de uso común es centrar una ventana emergente dentro de su padre. Una forma de hacerlo es con las propiedades x y y. Los anclajes ofrecen un enfoque más conveniente:
También es posible centrar la ventana emergente en la ventana utilizando Overlay:
ApplicationWindow { id: window // ... Pane { // ... Popup { anchors.centerIn: Overlay.overlay } } }
Esto facilita centrar una ventana emergente en la ventana desde cualquier componente.
Nota: Los popups sólo pueden ser centrados dentro de su padre inmediato o de la ventana superpuesta; intentar centrar en otros elementos producirá una advertencia.
Esta propiedad se introdujo en QtQuick.Controls 2.5 (Qt 5.12).
Ver también Popup Positioning, anchors, y Using Qt Quick Controls types in property declarations.
availableHeight : real [read-only]
Esta propiedad contiene la altura disponible en contentItem después de deducir el relleno vertical de height de la ventana emergente.
Véase también padding, topPadding, y bottomPadding.
availableWidth : real [read-only]
Esta propiedad mantiene la anchura disponible en contentItem después de deducir el relleno horizontal de width de la ventana emergente.
Véase también padding, leftPadding, y rightPadding.
background : Item
Esta propiedad contiene el elemento de fondo.
Nota: Si el elemento de fondo no tiene un tamaño explícito especificado, sigue automáticamente el tamaño de la ventana emergente. En la mayoría de los casos, no es necesario especificar la anchura o la altura de un elemento de fondo.
Nota: La mayoría de las ventanas emergentes utilizan el tamaño implícito del elemento de fondo para calcular el tamaño implícito de la propia ventana emergente. Si sustituye el elemento de fondo por uno personalizado, también debería considerar la posibilidad de proporcionarle un tamaño implícito razonable (a menos que se trate de un elemento como Image, que tiene su propio tamaño implícito).
Véase también Personalización de la ventana emergente.
bottomInset : real [since QtQuick.Controls 2.5 (Qt 5.12)]
Esta propiedad mantiene la inserción inferior para el fondo.
Esta propiedad se introdujo en QtQuick.Controls 2.5 (Qt 5.12).
Véase también Popup Layout y topInset.
bottomMargin : real
Esta propiedad contiene la distancia entre el borde inferior de la ventana emergente y el borde inferior de su ventana.
Una ventana emergente con un margen inferior negativo no es empujada dentro del borde inferior de la ventana que la encierra. El valor por defecto es -1.
Véase también margins, topMargin, y Popup Layout.
bottomPadding : real
Esta propiedad contiene el relleno inferior. A menos que se establezca explícitamente, el valor es igual a verticalPadding.
Las propiedades de relleno se utilizan para controlar la geometría de content item.
Popup utiliza el mismo sistema de relleno que Control. Para una explicación visual del sistema de relleno, consulte la sección Control Layout de la documentación.
Véase también padding, topPadding, verticalPadding, y availableHeight.
clip : bool
Esta propiedad indica si el recorte está activado. El valor por defecto es false. El recorte sólo funciona cuando la ventana emergente no está en su propia ventana.
closePolicy : enumeration
Esta propiedad determina las circunstancias en las que se cierra la ventana emergente. Los indicadores pueden combinarse para permitir varias formas de cerrar la ventana emergente.
Los valores disponibles son:
| Constante | Descripción |
|---|---|
Popup.NoAutoClose | La ventana emergente sólo se cerrará cuando se le indique manualmente. |
Popup.CloseOnPressOutside | La ventana emergente se cerrará cuando se pulse el ratón fuera de ella. |
Popup.CloseOnPressOutsideParent | La ventana emergente se cerrará cuando se pulse el ratón fuera de su padre. |
Popup.CloseOnReleaseOutside | La ventana emergente se cerrará cuando se suelte el ratón fuera de ella. |
Popup.CloseOnReleaseOutsideParent | La ventana emergente se cerrará cuando se suelte el ratón fuera de su padre. |
Popup.CloseOnEscape | El popup se cerrará cuando se pulse la tecla escape mientras el popup tenga el foco activo. |
Las políticas CloseOnPress* y CloseOnRelease* sólo se aplican a eventos fuera de las ventanas emergentes. Es decir, si hay dos ventanas emergentes abiertas y la primera tiene como política Popup.CloseOnPressOutside, al hacer clic en la segunda ventana emergente no se cerrará la primera.
El valor por defecto es Popup.CloseOnEscape | Popup.CloseOnPressOutside.
Nota: Existe una limitación conocida por la que las políticas Popup.CloseOnReleaseOutside y Popup.CloseOnReleaseOutsideParent sólo funcionan con las ventanas emergentes modal.
contentChildren : list<Item>
Esta propiedad contiene la lista de hijos del contenido.
La lista contiene todos los elementos que han sido declarados en QML como hijos de la ventana emergente.
Nota: A diferencia de contentData, contentChildren no incluye objetos QML no visuales.
Véase también Item::children y contentData.
contentData : list<QtObject> [default]
Esta propiedad contiene la lista de datos de contenido.
La lista contiene todos los objetos que han sido declarados en QML como hijos de la ventana emergente.
Nota: A diferencia de contentChildren, contentData sí incluye objetos QML no visuales.
Véase también Item::data y contentChildren.
contentHeight : real
Esta propiedad contiene la altura del contenido. Se utiliza para calcular la altura total implícita del Popup.
Para más información, véase Popup Sizing.
Véase también contentWidth.
contentItem : Item
Esta propiedad contiene el elemento de contenido de la ventana emergente.
El elemento de contenido es la implementación visual de la ventana emergente. Cuando la ventana emergente se hace visible, el elemento de contenido se reasigna automáticamente a overlay item.
Nota: El elemento de contenido se redimensiona automáticamente para ajustarse a padding de la ventana emergente.
Nota: La mayoría de las ventanas emergentes utilizan el tamaño implícito del elemento de contenido para calcular el tamaño implícito de la propia ventana emergente. Si reemplaza el elemento de contenido por uno personalizado, también debe considerar proporcionarle un tamaño implícito razonable (a menos que sea un elemento como Text que tiene su propio tamaño implícito).
Véase también Personalización de la ventana emergente.
contentWidth : real
Esta propiedad contiene el ancho del contenido. Se utiliza para calcular el ancho total implícito del Popup.
Para más información, véase Popup Sizing.
Véase también contentHeight.
dim : bool
Esta propiedad indica si la ventana emergente atenúa el fondo.
A menos que se establezca explícitamente, esta propiedad sigue el valor de modal. Para volver al valor por defecto, establezca esta propiedad a undefined.
Véase también modal y Overlay.modeless.
enabled : bool [since QtQuick.Controls 2.3 (Qt 5.10)]
Esta propiedad indica si la ventana emergente está habilitada. El valor por defecto es true.
Esta propiedad se introdujo en QtQuick.Controls 2.3 (Qt 5.10).
Ver también visible y Item::enabled.
enter : Transition
Esta propiedad contiene la transición que se aplica al elemento emergente cuando éste se abre y entra en la pantalla.
El siguiente ejemplo anima la opacidad de la ventana emergente cuando entra en la pantalla:
Popup { enter: Transition { NumberAnimation { property: "opacity"; from: 0.0; to: 1.0 } } }
Véase también exit.
exit : Transition
Esta propiedad contiene la transición que se aplica al elemento emergente cuando éste se cierra y sale de la pantalla.
El siguiente ejemplo anima la opacidad de la ventana emergente cuando sale de la pantalla:
Popup { exit: Transition { NumberAnimation { property: "opacity"; from: 1.0; to: 0.0 } } }
Véase también enter.
focus : bool
Esta propiedad indica si la ventana emergente quiere ser enfocada.
Cuando la ventana emergente recibe realmente el foco, activeFocus será true. Para más información, consulte Enfoque de teclado en Qt Quick.
El valor por defecto es false.
Véase también activeFocus.
font : font
Esta propiedad contiene la fuente actualmente establecida para el popup.
El popup propaga propiedades explícitas de fuente a sus hijos. Si cambia una propiedad específica en la fuente de un popup, esa propiedad se propaga a todos los hijos del popup, anulando cualquier valor por defecto del sistema para esa propiedad.
Popup { font.family: "Courier" Column { Label { text: qsTr("This will use Courier...") } Switch { text: qsTr("... and so will this") } } }
Véase también Control::font y ApplicationWindow::font.
height : real
Esta propiedad contiene la altura de la ventana emergente.
horizontalPadding : real [since QtQuick.Controls 2.5 (Qt 5.12)]
Esta propiedad contiene el relleno horizontal. A menos que se establezca explícitamente, el valor es igual a padding.
Las propiedades de relleno se utilizan para controlar la geometría de content item.
Popup utiliza el mismo sistema de relleno que Control. Para una explicación visual del sistema de relleno, véase la sección Control Layout de la documentación.
Esta propiedad se introdujo en QtQuick.Controls 2.5 (Qt 5.12).
Véase también padding, leftPadding, rightPadding, y verticalPadding.
implicitBackgroundHeight : real [read-only, since QtQuick.Controls 2.5 (Qt 5.12)]
Esta propiedad contiene la altura implícita del fondo.
El valor es igual a background ? background.implicitHeight : 0.
Esta propiedad se introdujo en QtQuick.Controls 2.5 (Qt 5.12).
Véase también implicitBackgroundWidth y implicitContentHeight.
implicitBackgroundWidth : real [read-only, since QtQuick.Controls 2.5 (Qt 5.12)]
Esta propiedad contiene el ancho implícito del fondo.
El valor es igual a background ? background.implicitWidth : 0.
Esta propiedad se introdujo en QtQuick.Controls 2.5 (Qt 5.12).
Véase también implicitBackgroundHeight y implicitContentWidth.
implicitContentHeight : real [read-only, since QtQuick.Controls 2.5 (Qt 5.12)]
Esta propiedad contiene la altura implícita del contenido.
El valor se calcula basándose en los hijos del contenido.
Esta propiedad se introdujo en QtQuick.Controls 2.5 (Qt 5.12).
Véase también implicitContentWidth y implicitBackgroundHeight.
implicitContentWidth : real [read-only, since QtQuick.Controls 2.5 (Qt 5.12)]
Esta propiedad contiene el ancho implícito del contenido.
El valor se calcula basándose en los hijos del contenido.
Esta propiedad se introdujo en QtQuick.Controls 2.5 (Qt 5.12).
Véase también implicitContentHeight y implicitBackgroundWidth.
implicitHeight : real
Esta propiedad contiene la altura implícita de la ventana emergente.
implicitWidth : real
Esta propiedad contiene el ancho implícito de la ventana emergente.
leftInset : real [since QtQuick.Controls 2.5 (Qt 5.12)]
Esta propiedad contiene la inserción izquierda para el fondo.
Esta propiedad se introdujo en QtQuick.Controls 2.5 (Qt 5.12).
Véase también Popup Layout y rightInset.
leftMargin : real
Esta propiedad contiene la distancia entre el borde izquierdo de la ventana emergente y el borde izquierdo de su ventana.
Un popup con un margen izquierdo negativo no es empujado dentro del borde izquierdo de la ventana que lo encierra. El valor por defecto es -1.
Véase también margins, rightMargin, y Popup Layout.
leftPadding : real
Esta propiedad contiene el relleno izquierdo. A menos que se establezca explícitamente, el valor es igual a horizontalPadding.
Las propiedades de relleno se utilizan para controlar la geometría de content item.
Popup utiliza el mismo sistema de relleno que Control. Para una explicación visual del sistema de relleno, consulte la sección Control Layout de la documentación.
Véase también padding, rightPadding, horizontalPadding, y availableWidth.
locale : Locale
Esta propiedad contiene la configuración regional de la ventana emergente.
Véase también mirrored y LayoutMirroring.
margins : real
Esta propiedad contiene la distancia entre los bordes de la ventana emergente y los bordes de su ventana.
Una ventana emergente con márgenes negativos no es empujada dentro de los límites de la ventana que la encierra. El valor por defecto es -1.
Véase también topMargin, leftMargin, rightMargin, bottomMargin, y Popup Layout.
mirrored : bool [read-only, since QtQuick.Controls 2.3 (Qt 5.10)]
Esta propiedad indica si la ventana emergente está reflejada.
Esta propiedad se proporciona por conveniencia. Una ventana emergente se considera reflejada cuando la dirección de su diseño visual es de derecha a izquierda; es decir, cuando se utiliza una configuración regional de derecha a izquierda.
Esta propiedad se introdujo en QtQuick.Controls 2.3 (Qt 5.10).
Véase también locale e Interfaces de usuario de derecha a izquierda.
modal : bool
Esta propiedad indica si la ventana emergente es modal.
Las ventanas emergentes modales suelen tener un efecto de atenuación de fondo distintivo definido en Overlay.modal, y no permiten que los eventos de pulsar o soltar pasen a los elementos situados debajo de ellas. Por ejemplo, si el usuario hace clic accidentalmente fuera de una ventana emergente, cualquier elemento situado debajo de esa ventana en el lugar del clic no recibirá el evento.
En las plataformas de escritorio, es habitual que las ventanas emergentes modales se cierren sólo cuando se pulsa la tecla escape. Para lograr este comportamiento, establezca closePolicy en Popup.CloseOnEscape. Por defecto, closePolicy está establecido en Popup.CloseOnEscape | Popup.CloseOnPressOutside, lo que significa que hacer clic fuera de una ventana emergente modal la cerrará.
El valor por defecto es false.
Véase también dim.
opacity : real
Esta propiedad contiene la opacidad de la ventana emergente. La opacidad se especifica como un número entre 0.0 (totalmente transparente) y 1.0 (totalmente opaco). El valor por defecto es 1.0.
Véase también visible.
opened : bool [since QtQuick.Controls 2.3 (Qt 5.10)]
Esta propiedad indica si la ventana emergente está completamente abierta. Se considera que el popup está abierto cuando es visible y no se están ejecutando las transiciones enter ni exit.
Esta propiedad se introdujo en QtQuick.Controls 2.3 (Qt 5.10).
Ver también open(), close(), y visible.
padding : real
Esta propiedad contiene el relleno por defecto.
Las propiedades de relleno se utilizan para controlar la geometría de content item.
Popup utiliza el mismo sistema de relleno que Control. Para una explicación visual del sistema de relleno, consulte la sección Control Layout de la documentación.
Véase también availableWidth, availableHeight, topPadding, leftPadding, rightPadding, y bottomPadding.
palette : palette [since QtQuick.Controls 2.3 (Qt 5.10)]
Esta propiedad contiene la paleta actualmente establecida para la ventana emergente.
El popup propaga las propiedades explícitas de la paleta a sus hijos. Si cambia una propiedad específica de la paleta de un popup, esa propiedad se propaga a todos los hijos del popup, anulando cualquier valor por defecto del sistema para esa propiedad.
Popup { palette.text: "red" Column { Label { text: qsTr("This will use red color...") } Switch { text: qsTr("... and so will this") } } }
Véase también: Item::palette, Window::palette, ColorGroup, Palette
Esta propiedad se introdujo en QtQuick.Controls 2.3 (Qt 5.10).
parent : Item
Esta propiedad contiene el elemento padre.
popupType : enumeration [since 6.8]
Esta propiedad determina el tipo de ventana emergente que se prefiere.
Opciones disponibles:
| Constante | Descripción |
|---|---|
Item | La ventana emergente se incrustará en same scene as the parent, sin utilizar una ventana independiente. |
Window | La ventana emergente se presentará en un separate window. Si la plataforma no soporta múltiples ventanas, se utilizará Popup.Item en su lugar. |
Native | La ventana emergente será nativa de la plataforma. Si la plataforma no admite ventanas emergentes nativas, se utilizará Popup.Window. |
La posibilidad de que una ventana emergente utilice el tipo preferido depende de la plataforma. Popup.Item es compatible con todas las plataformas, pero Popup.Window y Popup.Native normalmente sólo son compatibles con las plataformas de escritorio. Además, si una ventana emergente es un Menu dentro de un native menubar, el menú también será nativo. Y si el menú es un submenú dentro de otro menú, el menú padre (o raíz) decidirá el tipo.
El valor por defecto suele ser Popup.Item, con algunas excepciones, mencionadas anteriormente. Esto podría cambiar en futuras versiones de Qt, para ciertos estilos y plataformas que se beneficien del uso de otros tipos de menú emergente. Si quieres usar siempre menús nativos para todos los estilos en macOS, por ejemplo, puedes hacerlo:
Menu { popupType: Qt.platform.os === "osx" ? Popup.Native : Popup.Window }
Además, si decides personalizar un popup (por ejemplo, cambiando alguno de los delegados), deberías considerar configurar también el tipo de popup para que sea Popup.Window. Esto asegurará que sus cambios sean visibles en todas las plataformas y para todos los estilos. De lo contrario, cuando se utilicen menús nativos, los delegados no se utilizarán para el renderizado.
Esta propiedad se introdujo en Qt 6.8.
Véase también Popup type.
rightInset : real [since QtQuick.Controls 2.5 (Qt 5.12)]
Esta propiedad mantiene la inserción derecha para el fondo.
Esta propiedad se introdujo en QtQuick.Controls 2.5 (Qt 5.12).
Véase también Popup Layout y leftInset.
rightMargin : real
Esta propiedad contiene la distancia entre el borde derecho de la ventana emergente y el borde derecho de su ventana.
Una ventana emergente con un margen derecho negativo no es empujada dentro del borde derecho de la ventana que la encierra. El valor por defecto es -1.
Véase también margins, leftMargin, y Popup Layout.
rightPadding : real
Esta propiedad contiene el relleno derecho. A menos que se establezca explícitamente, el valor es igual a horizontalPadding.
Las propiedades de relleno se utilizan para controlar la geometría de content item.
Popup utiliza el mismo sistema de relleno que Control. Para una explicación visual del sistema de relleno, consulte la sección Control Layout de la documentación.
Véase también padding, leftPadding, horizontalPadding, y availableWidth.
scale : real
Esta propiedad contiene el factor de escala de la ventana emergente. El valor por defecto es 1.0.
Una escala inferior a 1.0 hace que la ventana emergente se muestre a un tamaño menor, y una escala superior a 1.0 hace que la ventana emergente se muestre a un tamaño mayor. No se admiten escalas negativas.
spacing : real [since QtQuick.Controls 2.1 (Qt 5.8)]
Esta propiedad contiene el espaciado.
El espaciado es útil para ventanas emergentes que tienen bloques de construcción múltiples o repetitivos. Por ejemplo, algunos estilos utilizan el espaciado para determinar la distancia entre la cabecera, el contenido y el pie de página de Dialog. El espaciado no es forzado por Popup, por lo que cada estilo puede interpretarlo de forma diferente, y algunos pueden ignorarlo por completo.
Esta propiedad se introdujo en QtQuick.Controls 2.1 (Qt 5.8).
topInset : real [since QtQuick.Controls 2.5 (Qt 5.12)]
Esta propiedad contiene la inserción superior para el fondo.
Esta propiedad se introdujo en QtQuick.Controls 2.5 (Qt 5.12).
Véase también Popup Layout y bottomInset.
topMargin : real
Esta propiedad contiene la distancia entre el borde superior de la ventana emergente y el borde superior de su ventana.
Una ventana emergente con un margen superior negativo no es empujada dentro del borde superior de la ventana que la encierra. El valor por defecto es -1.
Véase también margins, bottomMargin, y Popup Layout.
topPadding : real
Esta propiedad contiene el relleno superior. A menos que se establezca explícitamente, el valor es igual a verticalPadding.
Las propiedades de relleno se utilizan para controlar la geometría de content item.
Popup utiliza el mismo sistema de relleno que Control. Para una explicación visual del sistema de relleno, consulte la sección Control Layout de la documentación.
Véase también padding, bottomPadding, verticalPadding, y availableHeight.
transformOrigin : enumeration
Esta propiedad contiene el punto de origen de las transformaciones en las transiciones de entrada y salida.
Hay nueve orígenes de transformación disponibles, como se muestra en la siguiente imagen. El origen de transformación por defecto es Popup.Center.

Véase también enter, exit, y Item::transformOrigin.
verticalPadding : real [since QtQuick.Controls 2.5 (Qt 5.12)]
Esta propiedad contiene el relleno vertical. A menos que se establezca explícitamente, el valor es igual a padding.
Las propiedades de relleno se utilizan para controlar la geometría de content item.
Popup utiliza el mismo sistema de relleno que Control. Para una explicación visual del sistema de relleno, véase la sección Control Layout de la documentación.
Esta propiedad se introdujo en QtQuick.Controls 2.5 (Qt 5.12).
Véase también padding, topPadding, bottomPadding, y horizontalPadding.
visible : bool
Esta propiedad indica si la ventana emergente es visible. El valor por defecto es false.
Véase también open(), close(), y opened.
width : real
Esta propiedad contiene el ancho de la ventana emergente.
x : real
Esta propiedad contiene la coordenada x de la ventana emergente.
y : real
Esta propiedad contiene la coordenada y de la ventana emergente.
z : real
Esta propiedad contiene el valor z de la ventana emergente. El valor Z determina el orden de apilamiento de las ventanas emergentes.
Si dos ventanas visibles tienen el mismo valor z, la última que se haya abierto estará encima.
Si una ventana emergente no tiene un valor z explícito cuando se abre, y es hija de una ventana emergente ya abierta, se apilará encima de su padre. Esto garantiza que los hijos nunca queden ocultos bajo sus padres.
Si la ventana emergente tiene su propia ventana, el valor z determinará el orden de apilamiento de las ventanas.
El valor z por defecto es 0.
Documentación sobre señales
void aboutToHide()
Esta señal se emite cuando la ventana emergente está a punto de ocultarse.
Nota: El manejador correspondiente es onAboutToHide.
Véase también closed().
void aboutToShow()
Esta señal se emite cuando la ventana emergente está a punto de mostrarse.
Nota: El manejador correspondiente es onAboutToShow.
Véase también opened().
void closed()
Esta señal se emite cuando se cierra la ventana emergente.
Nota: El manejador correspondiente es onClosed.
Véase también aboutToHide().
void opened()
Esta señal se emite cuando se abre la ventana emergente.
Nota: El manejador correspondiente es onOpened.
Véase también aboutToShow().
Documentación del método
void close()
Cierra la ventana emergente.
Véase también visible.
void forceActiveFocus(enumeration reason = Qt.OtherFocusReason)
Fija el foco activo en la ventana emergente con la dirección reason.
Este método establece el foco en la ventana emergente y garantiza que todos los objetos FocusScope ancestros en la jerarquía de objetos también reciban focus.
Véase también activeFocus y Qt::FocusReason.
void open()
Abre la ventana emergente.
Véase también visible.
© 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.