首页 > 解决方案 > 用 Qt::black 初始化 QColorDialog 总是返回黑色

问题描述

我正在使用静态函数创建一个 QColorDialog ,如下所示:

QColor c = QColorDialog::getColor(Qt::black);

if (c.isValid())
{
    std::cout << c.red() << std::endl;
    std::cout << c.green() << std::endl;
    std::cout << c.blue() << std::endl;
}

如果我现在在对话框中选择一种颜色并按 OK,它总是返回黑色(如 RGB(0, 0, 0))。对话框中的 RGB 值也不会更新。

在此处输入图像描述

如果我创建这样的对话框:

QColor c = QColorDialog::getColor(Qt::white);

一切都按预期工作。

我在这里做错了什么?

标签: c++qt

解决方案


您在 HSV 中的值是 0!这就是为什么一切都是黑色的。在此处输入图像描述


推荐阅读