QOpenGLWidget рисует линию, иногда невидимую или жирную - PullRequest
0 голосов
/ 02 апреля 2019

Я создаю подкласс QOpenGLWidget для рисования перекрестия, следующего за мышью.Но рисование в QOpenGLWidget немного странно.Горизонтальная линия может исчезнуть или быть жирной на некоторой высоте, пока я перемещаю мышь вверх и вниз.Проблема не появится в QWidget, Почему?

class OpenGLWidget : public QOpenGLWidget {
 public:
  OpenGLWidget(QWidget *parent = nullptr) : QOpenGLWidget(parent) {
    setMouseTracking(true);
  }
  void mouseMoveEvent(QMouseEvent *event) {
    m_mousePoint = event->pos();
    update();
  }
  void paintGL() {
    QPainter p(this);
    p.setPen(Qt::white);
    p.drawLine(QLineF(0, m_mousePoint.y(), width(), m_mousePoint.y()));
    p.drawLine(QLineF(m_mousePoint.x(), 0, m_mousePoint.x(), height()));
  }

  QPointF m_mousePoint;
};

горизонтальная линия выглядит жирным
горизонтальная линия исчезла здесь

...