как менять только параметр QBrush в QGraphicsScene::addEllipse
При выполнении код съедает память как менять только параметр QBrush?
if(link2 == 0) {
scene2->addEllipse(100, 395, radius1, radius1, QPen(Qt::black), QBrush(Qt::red));
}
if(link2 == 1) {
scene2->addEllipse(100, 395, radius1, radius1, QPen(Qt::black), QBrush(Qt::green));
}
link2 изменяется по таймеру
Ответы (1 шт):
Автор решения: Bearded Beaver
→ Ссылка
Попробуйте вот так
// где-нибудь в полях класса положим указатель на эллипс
QGraphicsEllipseItem* ellipse;
// один раз добавим эллипс на сцену и запомним указатель на добавленный объект
this->ellipse = scene2->addEllipse(100, 395, radius1, radius1, QPen(Qt::black), QBrush(Qt::red));
// а теперь при срабатывании какого-то события просто поменяем эллипсу цвет
if(link2 == 0) {
this->ellipse->setBrush(Qt::red);
}
else if(link2 == 1) {
this->ellipse->setBrush(Qt::green);
}