在GraphicsView上Qt QColor和QBrush?

时间:2015-12-12 14:33:43

标签: c++ qt qgraphicsscene qcolor

如何使用RBG值为QBrush设置自定义颜色?然后在GraphicsView上用画笔绘制一个矩形。

到目前为止,我已尝试过:

QBrush *goldBrush = new QBrush(QColor(212,175,55));
scene->addRect(0,415,20,50,noPen,goldBrush);

错误消息是:

  

错误:C2664:' QGraphicsRectItem   * QGraphicsScene :: addRect(qreal,qreal,qreal,qreal,const QPen&,const QBrush&)' :无法转换来自' QBrush *'的参数6到#const;   QBrush&'原因:无法转换为QBrush *'到了' const QBrush'没有   构造函数可以采用源类型或构造函数重载   决议是模糊的

然后我用第一行代替:

const QBrush *goldBrush = new QBrush(QColor(212,175,55));

该消息仅略微更改为:

  

错误:C2664:' QGraphicsRectItem   * QGraphicsScene :: addRect(qreal,qreal,qreal,qreal,const QPen&,const QBrush&)' :无法转换来自' const QBrush *'的参数6到#const;   QBrush&'原因:无法转换为' const QBrush *'到#const;   QBrush'没有构造函数可以采用源类型或构造函数   重载决议是模糊的

1 个答案:

答案 0 :(得分:1)

你应该替换“scene-> addRect(0,415,20,50,noPen,goldBrush);”使用“scene-> addRect(0,415,20,50,noPen, * goldBrush );”。你正在这样做,你将地址传递到记忆中的位置而不是对变量的引用。