QAbstractGraphicsShapeItem change color

141
21 февраля 2019, 05:30

Я создаю приложение с графами на 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 на сцене?

READ ALSO
Странные COM DLL

Странные COM DLL

Появилась задача прицепить к программе на с++/qt драйверы торгового оборудования для 1с83

156
Custom deleter. Smart pointer std::unique_ptr();

Custom deleter. Smart pointer std::unique_ptr();

Не очень могу понять, что происходит в этом кодеНужно создать свой deleter, для умного указателя

149
Как в cmake подключить библиотеку libpqxx?

Как в cmake подключить библиотеку libpqxx?

Как в cmake подключить библиотеку libpqxx?

191
Аналог параллельного цикла из openmp

Аналог параллельного цикла из openmp

Есть ли аналог для #pragma omp parallel for из openmp в текущем c++ стандарте?

162