本页内容

Dialog QML Type

本机对话框的基类。更多...

Import Statement: import QtQuick.Dialogs
Since: Qt 6.2
Inherits:

QtObject

Inherited By:

ColorDialog, FileDialog, FolderDialog, FontDialog, and MessageDialog

属性

信号

方法

详细说明

Dialog 类型为原生平台对话框提供了通用的 QML API。有关非原生对话框,请参阅Dialog 。

要显示原生对话框,请创建 Dialog 具体实现类之一的实例,设置所需属性,并调用open()。当用户完成对话框操作后,Dialog 会触发accepted() 或rejected() 事件。

注意:这是一个 内部类型,无法在 QML 中创建。

属性文档

data : list<QtObject> [default]

此默认属性包含所有被声明为该对话框子对象的对象列表。

flags : Qt::WindowFlags

该属性存储对话框的窗口标志。默认值为Qt.Dialog 。

modality : Qt::WindowModality

该属性用于指定对话框的模式。默认值为Qt.WindowModal 。

可用值:

常量描述
Qt.NonModal该对话框为非模态,不会阻塞其他窗口的输入。
Qt.WindowModal对话框对单个窗口层次结构具有模态性,并会阻塞其父窗口、所有祖先窗口以及父窗口和祖先窗口的所有同级窗口的输入。
Qt.ApplicationModal该对话框对应用程序具有模态性,并会阻塞所有窗口的输入。

parentWindow : Window

该属性存储对话框的父窗口。

除非显式设置,否则系统会通过遍历 QML 父对象来自动确定该窗口,直到找到一个包含窗口的 `Window ` 或 `Item ` 对象为止。

popupType : enumeration [since 6.10]

此属性可用于更改非原生快速对话框的popupType 。

可用值如下:

常量描述
Popup.Item对话框将作为最近的父项窗口中的一个项目显示。
Popup.Window对话框将显示在其自身的窗口内。
Popup.Native不支持此值。将改用Popup.Window 。

注意: 使用本机对话框时,此 属性无效。

该属性自 Qt 6.10 起引入。

result : int

该属性存储结果代码。

标准结果代码:

常量描述
Dialog.Accepted 
Dialog.Rejected

注意: MessageDialog 会将结果设置为被点击的标准按钮的值,而不是使用标准结果代码。

title : string

此属性用于指定对话框的标题。

visible : bool

该属性控制对话框的可见性。默认值为false 。

另请参阅 open() 和close()。

信号文档

void accepted()

当对话框通过交互方式或调用accept() 被接受时,会发出此信号。

注意: 相应的处理程序 是onAccepted 。

另请参阅 rejected()。

void rejected()

当对话框被交互式关闭或通过调用 `reject()` 关闭时,会发出此信号。

使用close() 关闭对话框时,也会发出此信号。

注意: 相应的处理程序 是onRejected 。

另请参阅 accepted()。

方法文档

void accept()

关闭对话框并发出accepted()信号。

另请参阅 reject()。

void close()

关闭对话框,并触发accepted()或rejected()信号。

另请参阅 visible 和open()。

void done(int result)

关闭对话框并设置result 。

另请参阅 accept()、reject() 以及result 。

void open()

打开对话框。

另请参阅 visible 和close()。

void reject()

关闭对话框并发出rejected()信号。

另请参阅 accept()。

© 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.