Qt/QML:启用 OpenGL 时 ChartView 不会在 Windows 上渲染任何内容

问题描述 投票:0回答:1

我正在开发一个使用 ChartView 在 QML 中呈现 QLineSeries 的应用程序:

...
const lineSeries = chartView.createSeries(ChartView.SeriesTypeLine, id, timeAxis, valueAxis);
lineSeries.useOpenGL = true;
...

这在

Ubuntu 22.04
上效果很好,但在
Windows 10
上没有任何渲染。没有错误或警告。我发现 Qt 6 中有关 OpenGL 的部分发生了变化,但不确定是否相关:

https://doc.qt.io/qt-6/windows-graphics.html

我将

Qt 6.5.2 SDK
MinGW
一起使用并使用
CMake
进行构建:

set(BINARY_NAME ${CMAKE_PROJECT_NAME})
qt_add_executable(${BINARY_NAME} ${SOURCES} ${RC_SRC})
target_link_libraries(${BINARY_NAME} PRIVATE Qt6::Charts Qt6::Network Qt6::Quick Qt6::QuickControls2 Qt6::Sql Qt6::Xml Qt6::Widgets)
set_target_properties(${BINARY_NAME} PROPERTIES WIN32_EXECUTABLE ON)

有什么想法可以解决这个问题吗?我希望 Windows 上也能提供加速图表。

windows qt opengl qml qtcharts
1个回答
0
投票

这至少似乎解决了问题(在 Qt 自己的 OpenGL 示例之一中使用):

QQuickWindow::setGraphicsApi(QSGRendererInterface::OpenGL);
© www.soinside.com 2019 - 2024. All rights reserved.