Qpaintevent и конфликт paintGL - PullRequest
0 голосов
/ 09 января 2020

У меня в настоящее время конфликт между моим paintGL () и моей функцией QPaintEvent. Я пытаюсь визуализировать линию, которая выступает в качестве измерительного инструмента для использования на объектах, нарисованных в paintGL (), однако моя текущая реализация отображает пустой экран, и я не могу понять проблему. Я также попытался поместить код из paintEvent в paintGL, это отрисовывает объекты внутри paintGL, но линия, которую нужно нарисовать из QPainter, не работает.

Это мой paintEvent ()

void Widget::paintEvent(QPaintEvent* e)
{
    if (drawLine) {

        QPainter painter(this);
        QPen paintpen(Qt::red);
        paintpen.setWidth(4);

        QPen linepen(Qt::black);
        linepen.setWidth(4);

        QPoint p1;
        p1.setX(xAtPress);
        p1.setY(yAtPress);

        painter.setPen(paintpen);
        painter.drawPoint(p1);

        QPoint p2;
        p2.setX(xAtRelease);
        p2.setY(yAtRelease);

        painter.setPen(paintpen);
        painter.drawPoint(p2);

        painter.setPen(linepen);
        painter.drawLine(p1, p2);

    }   
}

Это моя краскаGL ()

 void Widget::paintGL()
    {
        // Clear the color and depth buffer with specified clear colour.
        // This will replace everything that was in the previous frame with the clear colour.
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

        test0->draw();
        test1->draw();
        test2->draw();

        }

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...