我正在渲染自定义OpenGL项目,最重要的是我想添加一些小部件。
到目前为止,它运作良好。这就是它的样子。
但是,现在我尝试通过以下方式向OpenGL添加Text
项:
Rectangle{
id: logoTextBox
x: logoButton.x + logoButton.width
y: logoButton.y
width: 200
height: logoButton.height
color: "#EEEEEE"
Text{
id: logoVersionBlurb
y: 10
x: 10
font.pointSize: 8
text: "Ver 1.0"
color: "black"
}
Text{
id: logoNameBlurb
y: 20
x: 10
font.pointSize: 14
font.bold: true
text: "Please work"
}
}
我仍然想要渲染OpenGL,但我希望Text
显示在它上面。有什么想法吗?
我在QML中创建我的GLContext
:
MyGLWidget{
id: glWidget
}
这是C ++文件中的相关方法
void MyGLWidget::sync()
{
if (!m_renderer) {
m_renderer = new MyGLRenderer();
connect(window(), SIGNAL(beforeRendering()), m_renderer, SLOT(paint()), Qt::DirectConnection);
}
m_renderer->setViewportSize(window()->size() * window()->devicePixelRatio());
}
答案 0 :(得分:1)
好的,我找到了解决方案。我将文本的renderType设置为NativeRendering,这导致Triangle正确呈现。
Text{
id:sizeDialogXText
color: "white"
y: sizeDialogTitleText.y + 20
x: sizeDialogTitleText.x
text: "X"
font.pointSize: 12
renderType: Text.NativeRendering //This is the important line
}