我想添加QChart
到表单中。但我在小部件框中找不到它。所以我在代码中创建了它。我怎样才能将它插入QWidget
或QFrame
或其他东西?
我想在 QtDesigner 中设置该小部件的区域。
我想添加QChart
到表单中。但我在小部件框中找不到它。所以我在代码中创建了它。我怎样才能将它插入QWidget
或QFrame
或其他东西?
我想在 QtDesigner 中设置该小部件的区域。
我想你的意思是插入一个 QChartView,因为 QChartView 继承自 QGraphicsView,这将是一个不错的选择,为此我们执行以下操作:
QT += charts
.proPromote to...
QChartView
中Promoted Class Name
,然后QtCharts
在 中Header file
,然后按add
按钮,最后按promote
。部分步骤截图:
[3]
[4.1]
[4.2]
同样可以使用QWidget
作为基础而不是QGraphicsView
.
为什么选择一个或另一个小部件作为基础?
选择它是因为 Qt Designer 通过 moc 默认建立了某些属性,如果小部件没有该方法,则它不会编译。由于所有小部件都从 QWidget 继承,这将是任何新小部件在 Qt Designer 中推广它的基础。
在以下链接中,您将找到一个示例。
另一种选择是编译QtChart
插件QtDesigner
,为此您必须从以下链接下载 5 个文件:
然后执行以下操作:
qmake
make
sudo make install
最后,您可以QtCharts::QChartView
在 Qt Designer中访问
让我在这里为下面的答案添加一些东西(谢谢!)
我有一些额外的使用步骤
QTcreator 4.11.0
上
Ubuntu 20.04.3 LTS
首先,您不仅需要安装软件包
qml-module-qtcharts
还要包
libqt5charts5-dev
接下来,对于下面的“选项 1:升级”,您首先必须在输入后使用“添加”按钮
Promoted class name: QChartView
和
Header file: QtCharts
然后,您可以从“Promoted Classes”中选择它
最后,QTCreator 添加到您的 ui_mainwindow.h(例如)
#include <qchartview.h>
和用途
QChartView *graphicsView;
但它没有考虑,类型 QChartView 是在 <qchartview.h> 的“命名空间 QtCharts”中定义的。因此,找不到类型 QChartView。
我通过将“Central.h”添加到#include 为用户作为第一个#include 文件修复(破解)此问题,其中包含内容
#ifndef CENTRAL_H
#define CENTRAL_H
#include <QtCharts>
using namespace QtCharts;
#endif // CENTRAL_H