您如何使用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&)':无法将参数6从'QBrush *'转换为'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&)':无法将参数6从'const QBrush *'转换为'const
  QBrush&'原因:无法从'const QBrush *'转换为'const
  QBrush'没有构造函数可以采用源类型或构造函数
  重载解决方案不明确

最佳答案

您应该替换为“ scene-> addRect(0,415,20,50,noPen,goldBrush);”使用“场景-> addRect(0,415,20,50,noPen,* goldBrush);”。在执行此操作时,您正在将地址传递到内存中的某个位置,而不是对该变量的引用。

10-08 11:38