ColorDialog QML Type
原生颜色对话框。更多...
| Import Statement: | import Qt.labs.platform |
| Inherits: | |
| Status: | Deprecated since 6.9 |
自 Qt Labs Platform 6.9 起,此类型已弃用。我们强烈建议不要在新代码中使用它。
属性
- color : color
- currentColor : color
- options : flags
详细说明
请改用QtQuick.Dialogs ColorDialog 。
ColorDialog 类型为原生平台的颜色对话框提供了 QML API。

要显示颜色对话框,请创建 ColorDialog 的实例,设置所需属性,然后调用open()。currentColor 属性可用于确定对话框中当前选中的颜色。color 属性仅在通过接受对话框完成最终选择后才会更新。
MenuItem {
text: "Color"
onTriggered: colorDialog.open()
}
ColorDialog {
id: colorDialog
currentColor: document.color
}
MyDocument {
id: document
color: colorDialog.color
}可用性
目前,以下平台提供原生平台颜色对话框:
- iOS
- Linux(在使用 GTK+ 平台主题时)
- macOS
在没有原生实现的平台上,Qt Labs Platform 模块会使用Qt Widgets 作为备用方案。因此,使用Qt Labs Platform 模块中类型的应用程序应链接到QtWidgets ,并使用QApplication 代替QGuiApplication 。
要链接到QtWidgets 库,请在您的 qmake 项目文件中添加以下内容:
QT += widgets在main() 中创建QApplication 的实例:
#include <QApplication>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
return app.exec();
}注意: Qt.labs 模块中的类型在未来版本中不保证保持兼容性。
另请参阅 QtQuick.Dialogs::ColorDialog 。
属性文档
color : color
该属性保存最终被接受的颜色。
与currentColor 属性不同,color 属性在用户于对话框中选择颜色时不会更新,而是在最终选择确定后才更新。也就是说,当用户点击OK 以确认颜色时。此外,也可以通过处理accepted()信号来获取最终选择结果。
另请参阅 currentColor 和accepted()。
currentColor : color
该属性保存对话框中当前选定的颜色。
与color 属性不同,currentColor 属性会在用户在对话框中选择颜色时实时更新,即使最终选择尚未完成。
另请参阅 color 。
options : flags
该属性包含影响对话框外观和风格的各种选项。
默认情况下,所有选项均处于禁用状态。
应在显示对话框之前设置这些选项。在对话框可见时进行设置,不能保证会立即对对话框产生影响(具体取决于选项和平台)。
可用选项:
| 常量 | 描述 |
|---|---|
ColorDialog.ShowAlphaChannel | 允许用户选择颜色的透明度(alpha)成分。 |
ColorDialog.NoButtons | 不显示“OK ”和“Cancel ”按钮(适用于“实时对话框”)。 |
© 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.