Я создаю приложение с графами на Qt и должен реализовать алгоритм раскраски графа. Ссылка на проект:https://github.com/Allyans3/PaintGraph
метод рисования класса Node
void Node::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *)
{
QRectF rect = boundingRect();
painter->setBrush((option->state & QStyle::State_Selected ? Qt::yellow: Qt::red));
painter->setPen(QPen(QColor(46,53,61)));
painter->setRenderHint(QPainter::Antialiasing);
painter->drawEllipse(-17,-17, 35, 35);
painter->setFont(QFont("Times", 14, QFont::Bold));
painter->drawText(rect, Qt::AlignCenter,textContent());
}
потом я пытаюсь перерисовать узел следующим образом:
void MainWindow::test_paint()
{
for(int i = 0;i < this->scene->nodes.size();i++)
{
this->scene->nodes.at(i)->setBrush(QBrush(QStyle::State_Selected ? Qt::gray: Qt::white));
qDebug() <<"Repainted";
}
this->scene->update();
}
но это не работает. Есть идеи, как перекрасить / изменить цвет QGraphicsItem на сцене?
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости