2015-12-12 2 views
0

Как бы вы установили собственный цвет с использованием значений RBG в QBrush? Затем нарисуйте прямоугольник с помощью кисти на GraphicsView.Qt QColor и QBrush на графическом экране?

До сих пор я пытался:

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

Сообщение об ошибке:

error: C2664: 'QGraphicsRectItem *QGraphicsScene::addRect(qreal,qreal,qreal,qreal,const QPen &,const QBrush &)' : cannot convert argument 6 from 'QBrush *' to 'const QBrush &' Reason: cannot convert from 'QBrush *' to 'const QBrush' No constructor could take the source type, or constructor overload resolution was ambiguous

Затем, когда я заменить первую строку с:

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

сообщение только слегка изменено на:

error: C2664: 'QGraphicsRectItem *QGraphicsScene::addRect(qreal,qreal,qreal,qreal,const QPen &,const QBrush &)' : cannot convert argument 6 from 'const QBrush *' to 'const QBrush &' Reason: cannot convert from 'const QBrush *' to 'const QBrush' No constructor could take the source type, or constructor overload resolution was ambiguous

ответ

1

Вы должны заменить "scene-> addRect (0,415,20,50, noPen, goldBrush);" с "scene-> addRect (0,415,20,50, noPen, * goldBrush);". Как вы это делаете, вы передаете адрес в позицию в памяти вместо ссылки на переменную.

+1

Блестящий, спасибо, что я этого не знал. – AlarmingMonkey

Смежные вопросы