このページでは

Popup QML Type

ポップアップのようなユーザー・インターフェース・コントロールの基本型。詳細...

Import Statement: import QtQuick.Controls
Inherits:

QtObject

Inherited By:

Dialog, Drawer, Menu, and ToolTip

プロパティ

信号

方法

詳細説明

Popup は、ポップアップのようなユーザーインターフェイスコントロールの基本型です。これはWindow または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
    }
}

Popupはそれ自身のレイアウトを提供しませんが、例えばRowLayoutColumnLayout を作成することで、そのコンテンツを配置する必要があります。

ポップアップの子として宣言されたアイテムは自動的にポップアップのcontentItem 。動的に作成されたアイテムは明示的にcontentItem にペアレントされる必要があります。

次の図はウィンドウ内のポップアップのレイアウトを示しています:

コンテンツに重なるポップアップ・ウィンドウ

ポップアップのimplicitWidthimplicitHeight は通常、背景とコンテンツ・アイテムの暗黙のサイズ、およびインセットとパディングに基づいています。これらのプロパティは、明示的なwidthheight が指定されていない場合に、ポップアップの大きさを決定します。

contentItem のジオメトリはパディングによって決定されます。以下の例では、ポップアップの境界とそのコンテンツの間に 10px のパディングを確保しています:

Popup {
    padding: 10

    contentItem: Text {
        text: "Content"
    }
}

background アイテムは、インセットか明示的なサイズが与えられない限り、ポップアップの幅と高さ全体を埋めます。

負のインセットは背景をポップアップより大きくするために使用できます。次の例では、ポップアップの境界の外側に影を置くために負のインセットを使用しています:

Popup {
    topInset: -2
    leftInset: -2
    rightInset: -6
    bottomInset: -6

    background: BorderImage {
        source: ":/images/shadowed-background.png"
    }
}

Qt 6.8 以降、Menu のようないくつかのポップアップは、プラットフォームによって3つの異なる実装を提供します。popupType を設定することで、好みのものを選択できます。

Popup.Item はすべてのプラットフォームでサポートされていますが、Popup.WindowPopup.Native は通常デスクトッププラットフォームでのみサポートされています。さらに、ポップアップがnative menubar の中のMenu である場合、メニューもネイティブになります。また、メニューが他のメニューの中のサブメニューである場合、親(またはルート)メニューがタイプを決定します。

ポップアップをアイテムとして表示する

popupTypePopup.Item に設定すると、ポップアップは独立したウィンドウとしてではなく、親と同じシーン内のアイテムとして表示されます。このアイテムはそのシーンのoverlay の親になり、実際のウィンドウのように見えるようにスタイルされます。

このオプションは、マルチウィンドウをサポートしていないプラットフォームで特に便利です。また、Qt 6.8以前では、これが唯一のオプションでした。

ポップアップがシーン内の他のアイテムの上に表示されるようにするには、ApplicationWindow を使用することをお勧めします。ApplicationWindow は背景を暗くする効果も提供します。

ポップアップを別ウィンドウとして表示する

popupTypePopup.Window に設定することで、ポップアップはQt::Popup フラグで設定されたトップレベルwindow の中に表示されます。ポップアップを表示するためにウィンドウを使用することは、ポップアップが親ウィンドウの上に浮かび、そのジオメトリの外に配置できるという利点があります。それ以外のポップアップはPopup.Item を使用したときと同じように見えます。つまり、Popup.Item を使用したときと同じ QML デリゲートとスタイルが使用されます。

注: プラットフォームがPopup.Window をサポートしていない場合、Popup.Item がフォールバックとして使用されます。

ネイティブポップアップの表示

popupTypePopup.Native に設定することで、プラットフォームネイティブのポップアップウィンドウを使用してポップアップが表示されます。このウィンドウとそのコンテンツはQMLではなくプラットフォームによってレンダリングされます。つまり、ポップアップに割り当てられたQMLデリゲートはレンダリングに使用されません。例えばこのオプションをMenu で使用する場合、プラットフォーム固有のメニューAPIを使用して実装されます。これは通常、例えばPopup.Window よりもポップアップのルック&フィールがネイティブになりますが、同時にプラットフォームの制限や、外観や動作に関する違いに悩まされることになります。このような制限については、Menu など、影響を受けるサブクラスで詳しく説明されています。)

注意: プラットフォームがPopup.Native をサポートしていない場合、Popup.Window がフォールバックとして使用されます。

Popup 内で単一のアイテムのみが使用される場合、含まれるアイテムの暗黙のサイズに合わせてリサイズされます。これは特にレイアウトと一緒に使用するのに適しています。

Popup {
    ColumnLayout {
        anchors.fill: parent
        CheckBox { text: qsTr("E-mail") }
        CheckBox { text: qsTr("Calendar") }
        CheckBox { text: qsTr("Contacts") }
    }
}

時にはポップアップの中に2つのアイテムがあるかもしれません:

Popup {
    SwipeView {
        // ...
    }
    PageIndicator {
        anchors.horizontalCenter: parent.horizontalCenter
        anchors.bottom: parent.bottom
    }
}

この場合、Popup は適切な暗黙のサイズを計算できません。この場合、Popup は適切な暗黙のサイズを計算することができません。SwipeView の上にPageIndicator をアンカーしているので、単純にコンテンツのサイズをビューの暗黙のサイズに設定することができます:

Popup {
    contentWidth: view.implicitWidth
    contentHeight: view.implicitHeight

    SwipeView {
        id: view
        // ...
    }
    PageIndicator {
        anchors.horizontalCenter: parent.horizontalCenter
        anchors.bottom: parent.bottom
    }
 }

注: popup items を使用する場合、ポップアップのcontent itemoverlay の親になり、ポップアップの親の中には存在しません。そのため、ポップアップが存在するツリーに適用されるscale はビジュアルポップアップには適用されません。例えばComboBox のポップアップをコンボボックスのスケールに従わせるには、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
}

Qt Quick のアイテムと同様に、ポップアップのxy の座標は親からの相対座標です。これは、例えばButton の子であるポップアップを開くと、ポップアップがボタンに対して相対的な位置になることを意味します。

次の例では、添付のOverlay.overlay プロパティを使用して、ポップアップを開くボタンの位置にもかかわらず、ポップアップをウィンドウの中央に配置しています:

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
    }
}

親アイテムに関係なくポップアップをウィンドウの中央に配置する別の方法は、anchors.centerIn を使用することです:

ApplicationWindow {
    id: window
    // ...

    Pane {
        // ...

        Popup {
            anchors.centerIn: Overlay.overlay
        }
    }
}

ポップアップがウィンドウを囲む境界内に確実に配置されるようにするには、margins プロパティを負でない値に設定します。

オーバーレイの使用

popup windows が使用されていない場合、Popup はそのcontentItemビジュアルペアレントをウィンドウのoverlay に設定します。その主な仕事は、modal ポップアップの下にあるアイテムへの配信を防ぐためのイベントをインターセプトすることと、そのclosePolicy に従ってポップアップを閉じることです。

z 場合によっては、virtual keyboard のようなアイテムをポップアップの前に置くと便利なことがあります。これは現在のところ、アイテムの親をオーバーレイに設定し、アイテムがどのポップアップアイテムの前にもスタックされるようにすることによってのみ可能です。

オーバーレイはこの目的のために設計されたものではありませんし、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
}

exitトランジションが終了すると、これらのプロパティはenterトランジションが開始される前の値にリセットされます。

これにより、組み込みスタイルは、明示的に定義された値を失うことなく、これらのプロパティをアニメーションさせることができます。

バック/エスケープイベント処理

デフォルトでは、ポップアップは以下の場合に閉じられます:

これを防ぐには

  • ポップアップにfocus を与えない。
  • ポップアップのclosePolicyPopup.CloseOnEscape を含まない値を設定する。
  • ポップアップの子アイテムでKeys'escapePressed シグナルを処理し、ポップアップより先にイベントを受け取るようにする。

プロパティの伝搬

ポップアップはオブジェクトやビジュアルの親ではなく、親ウィンドウを通してフォント、パレット、添付プロパティを継承します:

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"
                }
            }
        }
    }
}

ポップアップ・プロパティの継承を示す図

さらに、ポップアップは子ポップアップにプロパティを伝搬しません。この動作はQt Widgets をモデルにしています。Qt::Popup ウィジェットはトップレベル・ウィンドウです。トップレベル・ウィンドウは子ウィンドウにプロパティを伝搬しません。

ComboBox のような特定の派生型は、通常、ポップアップがコントロールの不可欠な一部とみなされるように実装されており、そのため、アタッチされたプロパティなどを継承することがあります。例えば、マテリアル・スタイル ComboBox では、テーマやその他の付属プロパティは、ComboBox 自体からポップアップに明示的に継承されます:

popup: T.Popup {
    // ...

    Material.theme: control.Material.theme
    Material.accent: control.Material.accent
    Material.primary: control.Material.primary
}

したがって、子ポップアップが親ポップアップと同じプロパティ値を持つようにするには、それらのプロパティを明示的に設定します:

Popup {
    id: parentPopup
    // ...

    Popup {
        palette: parentPopup.palette
    }
}

閉じられたポップアップのポーランド語の動作

ポップアップが閉じられると、関連するウィンドウはなくなり、子アイテムもなくなります。つまり、子アイテムはポップアップが表示されるまでpolished になりません。このため、例えば、閉じたPopup 内のListView がその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
            }
        }
    }
}

上の例では、ポップアップが閉じられている間、component completion の後にsomeModel に行が追加されたり、 から行が削除されたりしても、Button のテキストは更新されません。

その代わりに、rowsInsertedrowsRemovedmodelReset シグナルが発せられるたびに更新されるcount プロパティをSomeModel に追加することができます。Button はこのプロパティをtext にバインドすることができます。

ポップアップ・コントロールポップアップのカスタマイズApplicationWindowも参照してください

プロパティの説明

activeFocus : bool [read-only]

このプロパティは、ポップアップにアクティブなフォーカスがあるかどうかを保持します。

Qt QuickfocusKeyboard Focusも参照してください

anchors.centerIn : Item [since QtQuick.Controls 2.5 (Qt 5.12)]

アンカーは、他のアイテムとの関係を指定することで、アイテムを配置する方法を提供します。

一般的な使用例は、ポップアップをその親アイテムの中央に配置することです。これを行う一つの方法は、xy プロパティを使用することです。アンカーはより便利な方法を提供します:

Pane {
    // ...

    Popup {
        anchors.centerIn: parent
    }
}

また、Overlay を使用して、ウィンドウ内のポップアップを中央に配置することも可能です:

ApplicationWindow {
    id: window
    // ...

    Pane {
        // ...

        Popup {
            anchors.centerIn: Overlay.overlay
        }
    }
}

これにより、どのコンポーネントからでも簡単にウィンドウの中央にポップアップを配置することができます。

注意: ポップアップを中央に配置できるのは、直接の親またはウィンドウのオーバーレイ内のみです。

このプロパティは QtQuick.Controls 2.5 (Qt 5.12) で導入されました。

Popup Positioninganchors 、および Using Qt Quick Controls types in property declarations.

availableHeight : real [read-only]

このプロパティは、ポップアップのheight から垂直パディングを差し引いた後のcontentItem で利用可能な高さを保持します。

padding,topPadding,bottomPaddingも参照してください

availableWidth : real [read-only]

このプロパティは、ポップアップのwidth から水平パディングを差し引いた後のcontentItem で利用可能な幅を保持します。

paddingleftPaddingrightPaddingも参照してください

background : Item

このプロパティは背景アイテムを保持する。

注意: 背景アイテムのサイズが明示的に指定されていない場合は、自動的にポップアップのサイズに従います。ほとんどの場合、背景アイテムの幅や高さを指定する必要はありません。

注意: ほとんどのポップアップでは、背景アイテムの暗黙のサイズを使ってポップアップ自体の暗黙のサイズを計算します。背景アイテムをカスタムのものに置き換える場合、それに適切な暗黙のサイズを提供することも考慮する必要があります(Image のように独自の暗黙のサイズを持っているアイテムを除く)。

ポップアップのカスタマイズも参照してください

bottomInset : real [since QtQuick.Controls 2.5 (Qt 5.12)]

このプロパティは、背景のボトムインセットを保持します。

このプロパティは QtQuick.Controls 2.5 (Qt 5.12) で導入されました。

Popup Layout およびtopInsetも参照してください

bottomMargin : real

このプロパティは、ポップアップの下端とそのウィンドウの下端との間の距離を保持します。

負の下端マージンを持つポップアップは、それを囲むウィンドウの下端内に押し込まれません。デフォルト値は-1 です。

margins,topMargin,Popup Layoutも参照してください

bottomPadding : real

このプロパティはボトムパディングを保持する。明示的に設定しない限り、値はverticalPadding と等しい。

padding プロパティはcontent item のジオメトリを制御するために使用されます。

Popup はControl と同じ方法でパディングを行います。パディング・システムの視覚的な説明については、ドキュメントのControl Layout セクションを参照してください。

padding,topPadding,verticalPadding,availableHeightも参照して ください。

clip : bool

このプロパティは、クリッピングが有効かどうかを保持する。デフォルト値はfalse です。クリッピングは、ポップアップがそれ自身のウィンドウ内にない場合にのみ機能します。

closePolicy : enumeration

このプロパティはポップアップが閉じる状況を決定します。フラグを組み合わせることで、ポップアップを閉じるいくつかの方法を可能にすることができます。

利用可能な値は以下の通りです:

定数説明
Popup.NoAutoCloseポップアップは手動で指示されたときのみ閉じます。
Popup.CloseOnPressOutsideマウスがポップアップの外側で押されたとき、ポップアップは閉じます。
Popup.CloseOnPressOutsideParentマウスが親の外側で押されるとポップアップは閉じます。
Popup.CloseOnReleaseOutsideポップアップはその外側でマウスが離されると閉じます。
Popup.CloseOnReleaseOutsideParentマウスが親の外で離されるとポップアップは閉じます。
Popup.CloseOnEscapeポップアップにアクティブなフォーカスがあるときにエスケープキーが押されると、ポップアップは閉じます。

CloseOnPress*CloseOnRelease* のポリシーはポップアップの外側のイベントに対してのみ適用されます。つまり、2つのポップアップが開いていて、1つ目のポリシーがPopup.CloseOnPressOutside の場合、2つ目のポップアップをクリックしても1つ目のポップアップは閉じません。

デフォルト値はPopup.CloseOnEscape | Popup.CloseOnPressOutside です。

注意: Popup.CloseOnReleaseOutsidePopup.CloseOnReleaseOutsideParent ポリシーはmodal ポップアップでのみ動作するという既知の制限があります。

contentChildren : list<Item>

このプロパティはコンテンツの子のリストを保持する。

このリストには、ポップアップの子としてQMLで宣言された全てのアイテムが含まれます。

注: contentData とは異なり、contentChildren には視覚的でない QML オブジェクトは含まれません。

Item::children およびcontentDataも参照して ください。

contentData : list<QtObject> [default]

このプロパティはコンテンツデータのリストを保持する。

このリストには、ポップアップの子としてQMLで宣言された全てのオブジェクトが含まれます。

注: contentChildren とは異なり、contentData には視覚的でない QML オブジェクトも含まれます。

Item::datacontentChildrenも参照して ください。

contentHeight : real

このプロパティはコンテンツの高さを保持する。このプロパティはPopupの暗黙的な高さの合計を計算するために使用されます。

詳細については、Popup Sizing を参照してください。

contentWidthも参照して ください。

contentItem : Item

このプロパティはポップアップのコンテンツ項目を保持します。

コンテンツアイテムはポップアップの視覚的な実装です。ポップアップが可視化されると、コンテンツアイテムは自動的にoverlay item に再配置されます。

注: コンテンツアイテムはポップアップのpadding に収まるように自動的にリサイズされます。

注: ほとんどのポップアップは、ポップアップ自体の暗黙のサイズを計算するために、コンテンツアイテムの暗黙のサイズを使用します。コンテンツアイテムをカスタムのものに置き換える場合、それに適切な暗黙のサイズを提供することも考慮する必要があります(Text のように独自の暗黙のサイズを持っているアイテムを除く)。

ポップアップのカスタマイズも参照してください

contentWidth : real

このプロパティはコンテンツの幅を保持する。このプロパティは、Popupの暗黙的な幅の合計を計算するために使用されます。

詳細については、Popup Sizing を参照してください。

contentHeightも参照して ください。

dim : bool

このプロパティは、ポップアップが背景を暗くするかどうかを保持する。

明示的に設定しない限り、このプロパティはmodal の値に従います。 デフォルト値に戻すには、このプロパティをundefined に設定します。

modal およびOverlay.modelessも参照してください

enabled : bool [since QtQuick.Controls 2.3 (Qt 5.10)]

このプロパティはポップアップが有効かどうかを保持する。デフォルト値はtrue です。

このプロパティは QtQuick.Controls 2.3 (Qt 5.10) で導入されました。

visible およびItem::enabledも参照してください

enter : Transition

このプロパティは、ポップアップが開いてスクリーンに入ったときにポップアップアイテムに適用されるトランジションを保持します。

次の例では、ポップアップがスクリーンに入ったときに、ポップアップの不透明度をアニメートしています:

Popup {
    enter: Transition {
        NumberAnimation { property: "opacity"; from: 0.0; to: 1.0 }
    }
}

exitも参照して ください。

exit : Transition

このプロパティは、ポップアップが閉じられ、スクリーンから出るときにポップアップアイテムに適用されるトランジションを保持します。

以下の例では、ポップアップがスクリーンから出るときに、ポップアップの不透明度をアニメーション化します:

Popup {
    exit: Transition {
        NumberAnimation { property: "opacity"; from: 1.0; to: 0.0 }
    }
}

enterも参照して ください。

focus : bool

このプロパティは、ポップアップがフォーカスを欲しているかどうかを保持する。

ポップアップが実際にフォーカスを受け取ると、activeFocustrue になります。詳細については、 Qt Quick のキーボード・フォーカスを参照してください。

デフォルト値はfalse です。

activeFocusも参照してください

font : font

このプロパティは、ポップアップに現在設定されているフォントを保持します。

ポップアップはその子に明示的なフォント・プロパティを伝搬します。ポップアップのフォントの特定のプロパティを変更すると、そのプロパティはすべてのポップアップの子に伝わり、そのプロパティのシステムデフォルトを上書きします。

Popup {
    font.family: "Courier"

    Column {
        Label {
            text: qsTr("This will use Courier...")
        }

        Switch {
            text: qsTr("... and so will this")
        }
    }
}

Control::font およびApplicationWindow::fontも参照してください

height : real

このプロパティはポップアップの高さを保持します。

horizontalPadding : real [since QtQuick.Controls 2.5 (Qt 5.12)]

このプロパティは水平方向のパディングを保持する。明示的に設定しない限り、値はpadding と等しい。

パディング・プロパティは、content item のジオメトリを制御するために使用されます。

Popup はControl と同じ方法でパディングを行います。padding システムの視覚的な説明については、ドキュメントのControl Layout セクションを参照してください。

このプロパティは QtQuick.Controls 2.5 (Qt 5.12) で導入されました。

padding,leftPadding,rightPadding,verticalPaddingも参照してください

implicitBackgroundHeight : real [read-only, since QtQuick.Controls 2.5 (Qt 5.12)]

このプロパティは、暗黙の背景の高さを保持する。

値はbackground ? background.implicitHeight : 0 に等しい。

このプロパティは QtQuick.Controls 2.5 (Qt 5.12) で導入されました。

implicitBackgroundWidth およびimplicitContentHeightも参照してください

implicitBackgroundWidth : real [read-only, since QtQuick.Controls 2.5 (Qt 5.12)]

このプロパティは暗黙の背景幅を保持する。

値はbackground ? background.implicitWidth : 0 に等しい。

このプロパティは QtQuick.Controls 2.5 (Qt 5.12) で導入されました。

implicitBackgroundHeight およびimplicitContentWidthも参照してください

implicitContentHeight : real [read-only, since QtQuick.Controls 2.5 (Qt 5.12)]

このプロパティは、暗黙のコンテンツの高さを保持する。

この値は、コンテンツの子プロパティに基づいて計算されます。

このプロパティは、QtQuick.Controls 2.5(Qt 5.12)で導入されました。

implicitContentWidth およびimplicitBackgroundHeightも参照して ください。

implicitContentWidth : real [read-only, since QtQuick.Controls 2.5 (Qt 5.12)]

このプロパティは、暗黙のコンテンツ幅を保持する。

この値は、コンテンツの子プロパティに基づいて計算されます。

このプロパティは、QtQuick.Controls 2.5(Qt 5.12)で導入されました。

implicitContentHeight およびimplicitBackgroundWidthも参照して ください。

implicitHeight : real

このプロパティはポップアップの暗黙の高さを保持します。

implicitWidth : real

このプロパティはポップアップの暗黙の幅を保持します。

leftInset : real [since QtQuick.Controls 2.5 (Qt 5.12)]

このプロパティは、背景の左インセットを保持します。

このプロパティは、QtQuick.Controls 2.5 (Qt 5.12) で導入されました。

Popup Layout およびrightInsetも参照してください

leftMargin : real

このプロパティは、ポップアップの左端とそのウィンドウの左端との間の距離を保持します。

負の左マージンを持つポップアップは、それを囲むウィンドウの左端内に押し込まれません。デフォルト値は-1 です。

margins,rightMargin,Popup Layoutも参照してください

leftPadding : real

このプロパティは左パディングを保持する。明示的に設定しない限り、値はhorizontalPadding と等しい。

paddingプロパティは、content item のジオメトリを制御するために使用されます。

Popup はControl と同じ方法でパディングを行います。パディング・システムの視覚的な説明については、ドキュメントのControl Layout セクションを参照してください。

padding,rightPadding,horizontalPadding,availableWidthも参照して ください。

locale : Locale

このプロパティはポップアップのロケールを保持します。

mirrored およびLayoutMirroringも参照してください

margins : real

このプロパティは、ポップアップの端とそのウィンドウの端との間の距離を保持します。

負のマージンを持つポップアップは、それを囲むウィンドウの境界内に押し込まれません。デフォルト値は-1 です。

topMargin,leftMargin,rightMargin,bottomMargin,Popup Layoutも参照してください

mirrored : bool [read-only, since QtQuick.Controls 2.3 (Qt 5.10)]

このプロパティは、ポップアップがミラーされているかどうかを保持します。

このプロパティは便宜上提供されています。つまり、右から左のロケールを使用している場合です。

このプロパティは QtQuick.Controls 2.3 (Qt 5.10) で導入されました。

localeRight-to-left User Interfacesも参照してください

このプロパティは、ポップアップがモーダルであるかどうかを保持します。

モーダルポップアップは多くの場合、Overlay.modal で定義された独特の背景減光効果を持ち、その下のアイテムにプレスイベントやリリースイベントを通しません。例えば、ユーザが誤ってポップアップの外側をクリックした場合、クリックされた位置でそのポップアップの下にあるアイテムはイベントを受け取りません。

デスクトッププラットフォームでは、モーダルポップアップはエスケープキーが押されたときだけ閉じられるのが一般的です。この動作を実現するには、closePolicyPopup.CloseOnEscape に設定します。デフォルトでは、closePolicyPopup.CloseOnEscape | Popup.CloseOnPressOutside に設定され、モーダルポップアップの外側をクリックすると閉じます。

デフォルト値はfalse です。

dimも参照してください

opacity : real

このプロパティはポップアップの不透明度を保持する。不透明度は0.0 (完全に透明) と1.0 (完全に不透明) の間の数値で指定します。デフォルト値は1.0 です。

visibleも参照してください

opened : bool [since QtQuick.Controls 2.3 (Qt 5.10)]

このプロパティはポップアップが完全に開いているかどうかを保持します。ポップアップが表示されていて、enterexit のトランジションが実行されていない場合、ポップアップが開いているとみなされます。

このプロパティは QtQuick.Controls 2.3 (Qt 5.10) で導入されました。

open(),close(),visibleも参照してください

padding : real

このプロパティはデフォルトのパディングを保持する。

padding プロパティはcontent item のジオメトリを制御するために使用されます。

Popup はControl と同じ方法でパディングを行います。パディング・システムの視覚的な説明については、ドキュメントのControl Layout セクションを参照してください。

availableWidth,availableHeight,topPadding,leftPadding,rightPadding,bottomPaddingも参照して ください。

palette : palette [since QtQuick.Controls 2.3 (Qt 5.10)]

このプロパティは、ポップアップに現在設定されているパレットを保持します。

ポップアップは明示的なパレットプロパティをその子に伝搬します。ポップアップのパレットの特定のプロパティを変更した場合、そのプロパティは全てのポップアップの子に伝わり、そのプロパティのシステムデフォルトを上書きします。

Popup {
    palette.text: "red"

    Column {
        Label {
            text: qsTr("This will use red color...")
        }

        Switch {
            text: qsTr("... and so will this")
        }
    }
}

こちらも参照してください:Item::palette Window::palette,ColorGroup も参照してください、Palette

このプロパティは QtQuick.Controls 2.3 (Qt 5.10) で導入されました。

parent : Item

このプロパティは親アイテムを保持する。

popupType : enumeration [since 6.8]

このプロパティは、優先されるポップアップのタイプを決定します。

利用可能なオプション

定数説明
Itemポップアップはsame scene as the parent に埋め込まれます。
Windowseparate windowプラットフォームがマルチウィンドウをサポートしていない場合、Popup.Item が代わりに使用されます。
Nativeポップアップはプラットフォームのネイティブになります。プラットフォームがネイティブポップアップをサポートしていない場合、Popup.Window

ポップアップが優先タイプを使用できるかどうかはプラットフォームに依存します。Popup.Item はすべてのプラットフォームでサポートされていますが、Popup.WindowPopup.Native は通常デスクトップ・プラットフォームでのみサポートされています。さらに、ポップアップがnative menubar の中のMenu である場合、メニューもネイティブになります。また、メニューが他のメニューの中のサブメニューである場合、親(またはルート)メニューがタイプを決定します。

デフォルト値はPopup.Item です。これは Qt の将来のバージョンで変更されるかもしれません。例えば、macOSのすべてのスタイルで常にネイティブメニューを使用したい場合、そうすることができます:

Menu {
    popupType: Qt.platform.os === "osx" ? Popup.Native : Popup.Window
}

また、ポップアップをカスタマイズする場合(例えば、デリゲートを変更する)、ポップアップの種類をPopup.Window に設定することを考慮する必要があります。こうすることで、あなたの変更がすべてのプラットフォームとすべてのスタイルで表示されるようになります。そうしないと、ネイティブメニューが使用されている場合、デリゲートはレンダリングに使用されません

このプロパティは Qt 6.8 で導入されました。

Popup typeも参照して ください。

rightInset : real [since QtQuick.Controls 2.5 (Qt 5.12)]

このプロパティは、背景の右インセットを保持します。

このプロパティは、QtQuick.Controls 2.5 (Qt 5.12) で導入されました。

Popup Layout およびleftInsetも参照してください

rightMargin : real

このプロパティは、ポップアップの右端とそのウィンドウの右端との間の距離を保持します。

負の右マージンを持つポップアップは、それを囲むウィンドウの右端内に押し込まれません。デフォルト値は-1 です。

margins,leftMargin,Popup Layoutも参照してください

rightPadding : real

このプロパティは右パディングを保持する。明示的に設定しない限り、値はhorizontalPadding と等しい。

paddingプロパティは、content item のジオメトリを制御するために使用されます。

Popup はControl と同じ方法でパディングを行います。パディング・システムの視覚的な説明については、ドキュメントのControl Layout セクションを参照してください。

padding,leftPadding,horizontalPadding,availableWidthも参照して ください。

scale : real

このプロパティはポップアップのスケールファクターを保持します。デフォルト値は1.0 です。

スケールが1.0 より小さいとポップアップは小さいサイズでレンダリングされ、スケールが1.0 より大きいとポップアップは大きいサイズでレンダリングされます。負のスケールはサポートされていません。

spacing : real [since QtQuick.Controls 2.1 (Qt 5.8)]

このプロパティはスペーシングを保持します。

スペーシングは、複数または繰り返しの構成ブロックを持つポップアップに便利です。例えば、いくつかのスタイルでは、Dialog のヘッダ、コンテンツ、フッタ間の距離を決定するために spacing を使用します。 Spacing は Popup によって強制されるものではないので、各スタイルによって解釈が異なり、完全に無視するものもあります。

このプロパティは QtQuick.Controls 2.1 (Qt 5.8) で導入されました。

topInset : real [since QtQuick.Controls 2.5 (Qt 5.12)]

このプロパティは、背景のトップインセットを保持します。

このプロパティは、QtQuick.Controls 2.5 (Qt 5.12) で導入されました。

Popup Layout およびbottomInsetも参照してください

topMargin : real

このプロパティは、ポップアップの上端とそのウィンドウの上端との間の距離を保持します。

負の上端マージンを持つポップアップは、それを囲むウィンドウの上端内に押し込まれません。デフォルト値は-1 です。

margins,bottomMargin,Popup Layoutも参照してください

topPadding : real

このプロパティは、上部のパディングを保持する。明示的に設定しない限り、値はverticalPadding と等しい。

パディング・プロパティは、content item のジオメトリを制御するために使用されます。

Popup はControl と同じ方法でパディングを行います。パディング・システムの視覚的な説明については、ドキュメントのControl Layout セクションを参照してください。

padding,bottomPadding,verticalPadding,availableHeightも参照して ください。

transformOrigin : enumeration

このプロパティは、入退場トランジションにおけるトランスフォームの原点を保持する。

以下の画像に示すように、9つのトランスフォーム原点が利用可能です。デフ ォル ト の変換原点はPopup.Center です。

変換原点を示すポップアップ

enterexitItem::transformOriginも参照

verticalPadding : real [since QtQuick.Controls 2.5 (Qt 5.12)]

このプロパティは垂直方向のパディングを保持する。明示的に設定しない限り、値はpadding と等しい。

パディング・プロパティは、content item のジオメトリを制御するために使用されます。

Popup はControl と同じ方法でパディングを行います。padding システムの視覚的な説明については、ドキュメントのControl Layout セクションを参照してください。

このプロパティは QtQuick.Controls 2.5 (Qt 5.12) で導入されました。

padding,topPadding,bottomPadding,horizontalPaddingも参照してください

visible : bool

このプロパティは、ポップアップが表示されているかどうかを保持します。デフォルト値はfalse です。

open(),close(),openedも参照してください

width : real

このプロパティはポップアップの幅を保持します。

x : real

このプロパティはポップアップのx座標を保持します。

y およびzも参照してください

y : real

このプロパティはポップアップのy座標を保持します。

x およびzも参照してください

z : real

このプロパティはポップアップのZ値を保持します。Z値はポップアップの積み重ね順序を決定します。

2つの可視ポップアップが同じZ値を持つ場合、最後に開かれたものが上になります。

もしポップアップが開かれたときにZ値が明示的に設定されておらず、すでに開いているポップアップの子である場合、そのポップアップは親の上にスタックされます。これにより、子が親の下に隠れることはありません。

ポップアップがそれ自身のウィンドウを持っている場合、z値が代わりにウィンドウのスタック順序を決定します。

デフォルトのz値は0 です。

x およびyも参照して ください。

シグナル・ドキュメント

void aboutToHide()

このシグナルはポップアップが非表示になるときに発せられます。

注意: 対応するハンドラはonAboutToHide です。

closed()も参照してください

void aboutToShow()

このシグナルはポップアップが表示されようとするときに発せられます。

注意: 対応するハンドラはonAboutToShow です。

opened()も参照してください

void closed()

このシグナルはポップアップが閉じられたときに発せられます。

注意: 対応するハンドラはonClosed です。

aboutToHide()も参照してください

void opened()

このシグナルはポップアップが開かれたときに発せられます。

注意: 対応するハンドラはonOpened です。

aboutToShow()も参照してください

メソッドのドキュメント

void close()

ポップアップを閉じます。

visibleも参照してください

void forceActiveFocus(enumeration reason = Qt.OtherFocusReason)

与えられたreason を持つポップアップにアクティブフォーカスを強制します。

このメソッドはポップアップにフォーカスを設定し、オブジェクト階層内のすべての祖先FocusScope オブジェクトにもfocus が与えられるようにします。

activeFocus およびQt::FocusReasonも参照して ください。

void open()

ポップアップを開きます。

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.