Я пытаюсь сделать пользовательскую палитру цветов, у меня должно быть все, что мне нужно, чтобы заполнить изображение цветами. Когда я запускаю программу, она не отображает ничего, кроме виджета без цветов, который я могу переместить влево или вверх.
Я добавил QWidget во вкладку дизайнера и добавил его в новый класс с именем ColorPicker. Я добавил защищенную функцию paintEvent в мой заголовочный файл.
Мой файл CPP ColorPicker:
#include "colorselector.h"
ColorSelector::ColorSelector(QWidget *parent) : QWidget(parent)
{
}
void ColorSelector::paintEvent(QPaintEvent *){
QColor c;
QImage pic(360,20,QImage::Format_RGB32);
for(int x=0; x < 360; x++){
for(int y=0; y < 20; y++){
c.setHsl(x,255,127);
pic.setPixel(x,y,c.rgb());
}
}
}
Мой заголовочный файл ColorPicker:
#ifndef COLORSELECTOR_H
#define COLORSELECTOR_H
#include <QWidget>
class ColorSelector : public QWidget
{
Q_OBJECT
public:
explicit ColorSelector(QWidget *parent = nullptr);
protected:
void paintEvent(QPaintEvent *);
signals:
public slots:
};
#endif // COLORSELECTOR_H
Это должно дать мне радугу цветов в QWidget.