QColorDialog 类

QColorDialog 类提供了一个对话框小部件,用于指定颜色。更多信息...

头文件 #include <QColorDialog>
CMakefind_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmakeQT += widgets
继承 QDialog

公有类型

枚举ColorDialogOption { ShowAlphaChannel, NoButtons, NoEyeDropperButton, DontUseNativeDialog }
标志ColorDialogOptions

属性

公有函数

QColorDialog(QWidget *parent = nullptr)
QColorDialog(const QColor &initial, QWidget *parent = nullptr)
虚拟~QColorDialog()
QColorcurrentColor() const
voidopen(QObject *receiver, const char *member)
QColorDialog::ColorDialogOptionsoptions() const
QColorselectedColor() const
voidsetCurrentColor(const QColor &color)
voidsetOption(QColorDialog::ColorDialogOption option, bool on = true)
voidsetOptions(QColorDialog::ColorDialogOptions options)
booltestOption(QColorDialog::ColorDialogOption option) const

重覆公有函数

虚拟 voidsetVisible(bool visible) override

信号

voidcolorSelected(const QColor &color)
voidcurrentColorChanged(const QColor &color)

静态公有成员

QColorcustomColor(int index)
intcustomCount()
QColorgetColor(const QColor &initial = Qt::white, QWidget *parent = nullptr, const QString &title = QString(), QColorDialog::ColorDialogOptions options = ColorDialogOptions())
voidsetCustomColor(int index, QColor color)
voidsetStandardColor(int index, QColor color)
QColorstandardColor(int index)

重实现受保护的函数

虚拟 voidchangeEvent(QEvent *e) override
虚拟 voiddone(int result) override

详细信息

颜色对话框的函数允许用户选择颜色。例如,您可以在绘图程序中使用它来允许用户设置画笔颜色。

静态函数提供模态颜色对话框。

静态 getColor() 函数显示对话框,并允许用户指定颜色。此函数还可以用于让用户以一定的不透明度选择颜色:将 ShowAlphaChannel 选项作为附加参数传递。

用户可以存储 customCount() 个不同的自定义颜色。这些自定义颜色由所有颜色对话框共享,且在程序执行期间保留。使用 setCustomColor() 设置自定义颜色,使用 customColor() 获取它们。

当按下“拾取屏幕颜色”按钮时,光标变为箭头形状,并对屏幕上的颜色进行扫描。用户可以点击鼠标或Enter按钮来选择颜色。按下Escape恢复到进入此模式之前选择的最后一个颜色。

标准对话框 示例展示了如何使用 QColorDialog 以及其他内建 Qt 对话框。

A color dialog in the Fusion widget style.

另请参阅 QColorQFileDialogQFontDialog,以及 标准对话框示例

成员类型文档

枚举 QColorDialog::ColorDialogOption
标志 QColorDialog::ColorDialogOptions

该枚举指定影响颜色对话框外观和感觉的各种选项。

常量描述
QColorDialog::ShowAlphaChannel0x00000001允许用户选择颜色的alpha分量。
QColorDialog::NoButtons0x00000002不显示确定取消按钮。(对“实时对话框”很有用。)
QColorDialog::NoEyeDropperButton0x00000008隐藏吸管按钮。此值在Qt 6.6中添加。
QColorDialog::DontUseNativeDialog0x00000004使用Qt的标准颜色对话框而不是操作系统原生颜色对话框。

ColorDialogOptions 类型是 QFlags<ColorDialogOption> 的异构化。它存储了 ColorDialogOption 值的逻辑或组合。

另请参阅 optionssetOptiontestOption,以及 windowModality

属性文档

currentColor : QColor

此属性持有关闭框中当前所选的颜色

访问函数

QColorcurrentColor() const
voidsetCurrentColor(const QColor &color)

通知信号

voidcurrentColorChanged(const QColor &color)

options : ColorDialogOptions

此属性持有关闭框外观和感觉的各种选项

默认情况下,所有选项都被禁用。

应在显示对话框之前设置选项。在对话框可见时设置它们不会保证立即影响对话框(取决于选项和平台)。

访问函数

QColorDialog::ColorDialogOptionsoptions() const
voidsetOptions(QColorDialog::ColorDialogOptions options)

另请参阅setOption() 和 testOption

成员函数文档

[显式] QColorDialog::QColorDialog(QWidget *parent = nullptr)

以给定的 parent 构造颜色对话框。

[显式] QColorDialog::QColorDialog(const QColor &initial, QWidget *parent = nullptr)

以给定的 parent 和指定的 initial 颜色构造颜色对话框。

[虚 效果无副作用] QColorDialog::~QColorDialog()

销毁颜色对话框。

[重写 虚 纯保护] void QColorDialog::changeEvent(QEvent *e)

重新实现: QWidget::changeEvent(QEvent *event).

[信号] void QColorDialog::colorSelected(const QColor &color)

在用户点击 OK 选中颜色后发出此信号。所选颜色由 color 指定。

另请参阅colorcurrentColorChanged

[信号] void QColorDialog::currentColorChanged(const QColor &color)

每当对话框中当前颜色改变时发出此信号。当前颜色由 color 指定。

注意:属性 currentColor 的通知信号。

另请参阅colorcolorSelected

[静态] QColor QColorDialog::customColor(int index)

QColor 值返回给定 index 的自定义颜色。

另请参阅setCustomColor

[静态] int QColorDialog::customCount()

返回 QColorDialog 支持 QColorDialog 的自定义颜色数量。所有颜色对话框共享相同的自定义颜色。

[重写 虚 纯保护] void QColorDialog::done(int result)

重新实现: QDialog::done(int r).

关闭对话框并将其实际结果代码设置为 result。如果使用 exec() 显示此对话框,则 done() 会结束本地事件循环,并导致 exec() 返回 result

另请参阅QDialog::done

[静态] QColor QColorDialog::getColor(const QColor &initial = Qt::white, QWidget *parent = nullptr, const QString &title = QString(), QColorDialog::ColorDialogOptions options = ColorDialogOptions())

弹出带有指定窗口 标题(如果未指定,则为“选择颜色”)的模态颜色对话框,让用户选择一种颜色,并返回该颜色。颜色初始设置为 initial。对话框是 parent 的子项。如果用户取消对话框,则返回无效(见 QColor::isValid())的颜色。

options 参数允许您自定义对话框。

void QColorDialog::open(QObject *receiver, const char *member)

打开对话框并连接其 colorSelected() 信号到由 receivermember 指定的槽。

当对话框关闭时,将从槽中断开信号。

QColor QColorDialog::selectedColor() const

返回用户通过单击 OK 或等效按钮所选的颜色。

注意: 此颜色不一定与 currentColor 属性保持一致,因为用户可以在最终选择要使用的颜色之前选择不同的颜色。

[静态] void QColorDialog::setCustomColor(int index, QColor color)

将索引为 index 的自定义颜色设置为 QColor color 值。

注意: 此函数不适用于 macOS 平台上的原生颜色对话框。如果仍需要此功能,请使用 QColorDialog::DontUseNativeDialog 选项。

另请参阅 customColor

void QColorDialog::setOption(QColorDialog::ColorDialogOption option, bool on = true)

如果 on 为 true,则将指定的 option 设置为启用;否则,清除指定的 option

另请参阅 optionstestOption

[静态] void QColorDialog::setStandardColor(int index, QColor color)

将索引为 index 的标准颜色设置为 QColor color 值。

注意: 此函数不适用于 macOS 平台上的原生颜色对话框。如果仍需要此功能,请使用 QColorDialog::DontUseNativeDialog 选项。

另请参阅 standardColor

[覆盖虚函数] void QColorDialog::setVisible(bool visible)

重新实现: QDialog::setVisible(bool visible).

更改对话框的可见性。如果 visible 为 true,则显示对话框;否则,隐藏对话框。

[静态] QColor QColorDialog::standardColor(int index)

返回给定 索引 的标准颜色作为 QColor 值。

另请参阅setStandardColor

bool QColorDialog::testOption(QColorDialog::ColorDialogOption option) const

如果给定的 选项 已启用,则返回 true;否则,返回 false。

另请参阅optionssetOption

© 2024 The Qt Company Ltd. 本文档中的贡献版权属于各自的拥有者。此处提供的文档是根据自由软件基金会发布的 GNU自由文档许可协议第1.3版 的条款授权的。Qt 和相应的商标是芬兰 The Qt Company Ltd. 和/或全球其他国家的商标。所有其他商标均为其各自所有者的财产。