如何初始化qcolor的静态列表。我使用的是Qt 5.11.1
在我的头文件中,我有:
QList<QColor> *colorList;
不知道我用这个是否合适
QColor *colorList[15];
那我在CPP文件里写什么呢。。。像这样的事
colorList = {
QColor(220,0,0),
QColor(250,140,0),
QColor(255,255,0),
QColor(145,210,80),
QColor(0,180,20),
...
};
我最终会用这个颜色循环这个颜色列表。
更新
下面是代码的导入位。
h
#include <QWidget>
#include <colorswatch.h>
#include <QColorDialog>
#include <QMenu>
#include <QList>
class ColorSwatchPicker : public ColorSwatch
{
Q_OBJECT
...
private:
void init();
...
QList<QColor> *colorList;
};
void ColorSwatchPicker::createButtons()
{
//! create color swatch menu
QWidget *colorWidget = new QWidget(this);
QGridLayout *layout = new QGridLayout(colorWidget);
layout->setSpacing(4);
layout->setContentsMargins(0,0,0,0);
// create color swatches
colorList = new QList<QColor>({
QColor(255,70,50),
QColor(230,30,100),
QColor(155,40,175),
QColor(105,60,185),
QColor(65,80,180),
...
});
// Create the pushbutton control
foreach (const QColor &c, colorList) {
auto *cs = new ColorSwatch(c, this);
cs->setFixedSize(18,18);
};
}