Имеется следующий код, который вызывает окно диалога выбора цвета:
#include <QColorDialog>
...
QColor selectedColor;
QColor currentColor(Qt::white);selectedColor = QColorDialog::getColor(currentColor,
this,
tr("Select color"),
QColorDialog::ShowAlphaChannel );Проблема в том, что в Qt 5.15.8 нормально выбрать цвет невозможно: в окне, где нарисована градиентная цветовая «радуга», клик мышкой не приводит к выбору цвета.
Крестик выбора цвета, который перемещается вместе с курсором мышки, по-хорошему должен остаться на том месте, где кликнули мышкой. Но этого не происходит: он все время привязан к мышке. И поэтому когда пользователь кликает на нужный цвет, потом двигает мышку к кнопке Ok, то выбранный цвет меняется вместе с движением мышки.
Что за дичь? В Qt 5.12.6 этот color picker работает правильно. Но я не могу найти багрепорт о таком поведении.
Система: Debian GNU/Linux 12.12, Qt 5.15.8.
UPD: Минимально работающий пример (14 дней на хранение): https://dropmefiles.com/HDZaX
Проблема решена.Дело было в https://qt-project.atlassian.net/issues/?selectedIssue=QTBUG...
То есть, правило в CSS косвенным образом влияет на поведение виджета выбора цвета.