如何更改qlist中颜色的值

时间:2013-10-10 05:31:25

标签: c++ qt qlist

我有一个Circle的对象,它包含绘制它的属性,如宽度,coor xy,颜色。我有一个这个圈子(对象)的qlist但是当我尝试改变颜色时我得到一个错误。

class Circle {
 int x;
 int y;
 int width;
 QColor color
}

QList <Circle> circles;

我在列表中添加了一些圆圈,这是问题

circles.at(3).color = Qt::yellow;

将'const QColor'作为'QColor&amp;的'this'参数传递QColor :: operator =(Qt :: GlobalColor)'丢弃限定符[-fpermissive]

1 个答案:

答案 0 :(得分:7)

at()的{​​{1}}函数返回一个const引用:QList,因此您无法对其进行修改。请改为使用const T & QList::at(int i) constoperator[]

另请注意,现在您班级的所有成员都是circles[3].color = Qt::yellow(默认情况下),因此无论如何您都无法设置private