Header: | #include <QColorDialog> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Inherits: | <<< QDialog |
【详细描述】
QColorDialog类提供一个用于指定颜色的对话框控件,功能是允许用户选择颜色。例如,您可以在绘图程序中使用此功能来采集用户选择的笔刷颜色。
静态函数getColor()显示该对话框(模态窗口),并允许用户指定一种颜色。这个函数还可以将显示通明通道ShowAlphaChannel()作为一个可选参数,让用户设置透明度。
用户可以存储 customCount() 不同的自定义颜色。自定义颜色由所有颜色对话框共享,并在程序执行过程中被记住。使用设置自定义颜色 setCustomColor() 来设置,并使用自定义颜色 customColor() 来获取。
当按下“拾取屏幕颜色”按钮时,光标会变为一个十字,屏幕上的颜色就会被扫描。用户可以通过点击鼠标来拾取。按ESC键在进入此模式前恢复最后一种颜色。
【公共类型】
enum | ColorDialogOption { ShowAlphaChannel, NoButtons, DontUseNativeDialog } |
flags | ColorDialogOptions |
颜色对话框选项类型是QFlags<ColorDialogOption>的类型定义,它存储一个颜色对话框选项值的或组合。 以下是枚举指定颜色对话框外观的设定。 1.QColorDialog::ShowAlphaChannel 【值:0x00000001】 【支持透明通道选择】
2.QColorDialog::NoButtons 【值:0x00000002】 【不要显示OK和取消按钮。(对“实时对话框”很有用)】 3.QColorDialog::DontUseNativeDialog 【值:0x00000004】 【使用Qt的标准颜色对话框,而不是系统风格】 |
【属性】
- currentColor : QColor 保存该对话框中当前选定的颜色
访问函数
QColor currentColor() const void setCurrentColor(const QColor &color) 相关信号
void currentColorChanged(const QColor &color)
- options : ColorDialogOptions
此属性包含会影响对话框的外观和感觉的各种选项,默认情况下,将禁用所有选项。在显示对话框之前,需要先设置一些选项。在对话框可见时设置不能保证实时效果(取决于选项设置和所在系统)。
访问函数
QColorDialog::ColorDialogOptions options() const void setOptions(QColorDialog::ColorDialogOptions options)
【公有函数】
QColorDialog(QWidget *parent = nullptr) | 使用给定的父对象构造。 | |
QColorDialog(const QColor &initial, QWidget *parent = nullptr) | 使用给定的父对象和指定的初始颜色构造。 | |
virtual | ~QColorDialog() | |
QColor | currentColor() const 见上文属性部分。 | |
void | open(QObject *receiver, const char *member) | 打开对话框,并将其颜色选定 colorSelected() 信号连接到由接收器和成员指定的插槽。当对话框关闭时,信号将与插槽断开连接。 |
QColorDialog:: ColorDialogOptions | options() const | 见上文属性部分。 |
QColor | selectedColor() const | 通过单击“确定”或等效按钮,返回用户选择的颜色。 |
void | setCurrentColor(const QColor &color) | 将一个颜色设为该对话框中当前选定的颜色。 此颜色并不总是与当前颜色属性所持有的颜色相同,因为用户可以在最终选择要使用的颜色之前选择不同的颜色。 |
void | setOption(QColorDialog::ColorDialogOption option, bool on = true) | 如果启用为真,则设置要启用的给定选项;否则,将清除给定选项。 |
void | setOptions(QColorDialog::ColorDialogOptions options) | 设置对话框的外观选项。 |
bool | testOption(QColorDialog::ColorDialogOption option) const | 如果启用了给定的选项,则返回true;否则,将返回false。 |
【重实现的公有函数】
virtual void | setVisible(bool visible) override | 设置对话框的可见性。如果可见为真,则显示对话框,否则为隐藏。 |
【信号】
void | colorSelected(const QColor &color) | 用户点击OK以选择要使用的颜色之后发出该信号。 |
void | currentColorChanged(const QColor &color) | 当前的颜色发生变化时,发出此信号。 |
【静态公有成员】
QColor | customColor(int index) 返回给定索引处的自定义颜色作为QColor值。 |
int | 返回QColorDialog支持的自定义颜色的数量。所有颜色对话框共享相同的自定义颜色。 |
QColor | getColor(const QColor &initial = Qt::white, QWidget *parent = nullptr, const QString &title = QString(), QColorDialog::ColorDialogOptions options = ColorDialogOptions()) 弹出一个带有给定窗口标题的模态颜色对话框(如果没有指定,则为“选择颜色”),允许用户选择一种颜色,并返回该颜色。该颜色最初被设置为初始值。该对话框是父项的子项。如果用户取消该对话框,它将返回一个无效的颜色QColor::isValid()。 |
void | setCustomColor(int index, QColor color) 将索引处的自定义颜色设置为QColor颜色值。 |
void | setStandardColor(int index, QColor color) 将index处的标准颜色设置为QColor颜色值。 注意:此功能不适用于macOS平台上的“本机颜色”对话框。如果您仍然需要此函数,请使用QColorDialog::DontUseNativeDialog选项。 |
QColor | standardColor(int index) 返回给定索引处的标准颜色作为QColor值。 |
【重实现的保护函数】
virtual void | changeEvent(QEvent *e) override |
virtual void | done(int result) override |