我正在开发一个使用 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 上也能提供加速图表。
这至少似乎解决了问题(在 Qt 自己的 OpenGL 示例之一中使用):
QQuickWindow::setGraphicsApi(QSGRendererInterface::OpenGL);