QColorPicker с ярким слайдером

Когда я открываю QColorPicker, я щелкаю по карте цвета в верхнем центре и выбираю любой цвет (скажем, красный), этот цвет отображается черным в нижней части выбранной цветовой полосы.

Я должен переместить ползунок в правом верхнем углу (см. Красную стрелку) в верхнее положение, чтобы приблизиться к выбранному цвету. Почему этот слайдер изначально не установлен на самое высокое значение, поэтому я не всегда вижу черный цвет?

1 ответ

Решение

В документации это относится к примеру стандартных диалогов:

void Dialog::setColor()
{
    const QColorDialog::ColorDialogOptions options = QFlag(colorDialogOptionsWidget->value());
    const QColor color = QColorDialog::getColor(Qt::green, this, "Select Color", options);

    if (color.isValid()) {
        colorLabel->setText(color.name());
        colorLabel->setPalette(QPalette(color));
        colorLabel->setAutoFillBackground(true);
    }
}

Примечание в QColorDialog::getColor как это определяет начальный цвет. Это должно установить яркость для вас.

http://doc.qt.io/qt-5/qcolordialog.html

QColor QColorDialog::getColor(const QColor & initial = Qt::white, QWidget * parent = 0, const QString & title = QString(), ColorDialogOptions options = 0)

Надеюсь, это поможет.

Другие вопросы по тегам