Qt QColor и QBrush для GraphicsView?
Как бы вы задали пользовательский цвет, используя значения 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' Ни один конструктор не может принять тип источника, или разрешение перегрузки конструктора было неоднозначным
1 ответ
Вы должны заменить "scene->addRect(0,415,20,50,noPen,goldBrush);" с помощью "scene-> addRect (0,415,20,50, noPen,* goldBrush);". То, как вы это делаете, вы передаете адрес в позицию в памяти вместо ссылки на переменную.