У меня в настоящее время конфликт между моим 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();
}
}