我有一个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]
答案 0 :(得分:7)
at()
的{{1}}函数返回一个const引用:QList
,因此您无法对其进行修改。请改为使用const T & QList::at(int i) const
:operator[]
另请注意,现在您班级的所有成员都是circles[3].color = Qt::yellow
(默认情况下),因此无论如何您都无法设置private
。