问题描述
我正在尝试在 paintGL()
的 qopenglwidget 中使用 QPainter 绘制一些线条和文本。文本呈现正确,但该行不显示。这是我的代码:
void mainWidget::paintGL()
{
glClearColor(0.0f,0.0f,1.0f);
glEnable(GL_DEPTH_TEST);
glViewport(0,width(),height());
glDepthFunc(GL_LEQUAL);
glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
glpolygonMode(GL_FRONT_AND_BACK,GL_FILL);
QPainter painter(this);
painter.setPen(Qt::yellow);
painter.setFont(QFont("Helvetica",14));
painter.setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing);
QString txt = "Hello World";
painter.drawText(50,50,txt ); // works
painter.drawLine(QPoint(400,400),QPoint(50,50)); // doesn't work
painter.end();
}
绘制文本绝对没问题,但线条不显示。我已经看到其他答案引用了 QPaintEvent
之外的行,但文本呈现正常。线的部分没有越界,因为在两端画文字可以让两个文字都显示出来。
为什么不绘制线条,我该如何解决?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)