Это стандартная коробка Color Dialog из Qt5

Можно ли просмотреть только основные цвета и убрать цветовой градиент из диалога?
Это стандартная коробка Color Dialog из Qt5

Можно ли просмотреть только основные цвета и убрать цветовой градиент из диалога?
Я нашел простое решение этой проблемы. Это не удаление, но с моим кодом мы не можем видеть этот градиент и не можем его использовать.
Нам нужно создать подкласс. Давайте закодируем:
mycolordialog.h
#ifndef MYCOLORDIALOG_H
#define MYCOLORDIALOG_H
#include <QColorDialog>
#include <QLabel>
class MyColorDialog : public QColorDialog
{
Q_OBJECT
public:
explicit MyColorDialog(QWidget *parent = 0);
signals:
public slots:
};
#endif // MYCOLORDIALOG_H
mycolordialog.cpp
#include "mycolordialog.h"
MyColorDialog::MyColorDialog(QWidget *parent) :
QColorDialog(parent)
{
QLabel * l = new QLabel("Teeeeext",this);
l->setGeometry(245,5,325,215);//this values control the area and position of label
//you can change this values and remove another area of main dialog window
QPixmap pixmap("G:/2/qt.jpg");
l->setPixmap(pixmap.scaled(325,215,Qt::IgnoreAspectRatio));;//resize our picture
l->show();
}
Как это использовать???
#include "mycolordialog.h"
//...
void MainWindow::on_pushButton_16_clicked()
{
MyColorDialog cd;
cd.exec();
qDebug() << cd.selectedColor();
}
Вы можете установить в метке красивый логотип вашего приложения или что-то другое. Я использую логотип отсюда http://reichertbrothers.com/images/qt-logo.png , но я конвертирую его в формат jpg.
Что мы получаем???

Обратите внимание, что все другие области доступны, и вы можете выбрать любой цвет и работать, как хотите, но это окно градиента удалено!
Я надеюсь, что это помогает.
Параметры, которые вы можете выбрать для изменения внешнего вида диалогового окна цвета, находятся в QColorDialog документация.
enum ColorDialogOption {
ShowAlphaChannel = 0x00000001,
NoButtons = 0x00000002,
DontUseNativeDialog = 0x00000004
};
Эти параметры не скрывают палитру цветов, поэтому вам придется реализовать собственную палитру цветов.