如何使用Qt Designer在表单中插入QChartView?

Ufx*_*Ufx 16 qt qt-designer qt5 qchart qchartview

我想添加QChart到表单中.但我在Widget Box中找不到它.所以我在代码中创建了它.我怎样才能将其插入QWidget或者QFrame还是其他什么东西?

我想在QtDesigner中设置该小部件的区域.

eyl*_*esc 21

选项1:晋升

我想你的意思是插入一个QChartView,因为QChartView继承自QGraphicsView,这将是一个不错的选择,为此我们执行以下操作:

  1. 首先添加QT += charts.pro
  2. 将QGraphicsView放置到设计中.
  3. 右键单击QGraphicsView并选择 Promote to...
  4. 在做以上,会出现一个菜单,在菜单中应该设置QChartViewPromoted Class Name,并QtChartsHeader file,然后按下add按钮,最后按下promote.

一些步骤的屏幕截图:

[3.]

在此输入图像描述

[4.1]

在此输入图像描述

[4.2]

在此输入图像描述

使用QWidget作为基础而不是使用相同的方法QGraphicsView.

为什么选择一个或另一个小部件作为基础?

选择它是因为Qt Designer通过moc默认建立了某些属性,如果小部件没有该方法,那么它将无法编译.因为所有小部件都从QWidget继承,所以这将是任何新小部件在Qt Designer中推广它的基础.

在以下链接中,您将找到一个示例.


选项2:QtChart插件

另一种选择是编译QtChart插件QtDesigner,为此你必须从以下链接下载5个文件:

在此输入图像描述

然后执行以下命令:

qmake
make
sudo make install
Run Code Online (Sandbox Code Playgroud)

最后,您可以QtCharts::QChartView在Qt Designer中访问

在此输入图像描述

  • 不要忘记在代码中调用`chartView.setChart(chart)`. (3认同)
  • 很好的答案。如果使用 `CMakeList.txt` 而不是 `qmake`(.pro 文件),则需要在 `find_package` 中添加 `Charts` 作为 Qt5 组件(例如:`find_package(Qt5 COMPONENTS Widgets Charts REQUIRED`) 和 Qt5 ::`target_link_libraries` 中的图表(例如:`target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Widgets Qt5::Charts`) (2认同)