Qt6中如何使用QtChart组件绘制图表并添加组件
以下是两位大佬的文章:
1.Qt6中使用Qt Charts_qt6 qcharts-CSDN博客
2.Qt图表绘制(QtCharts)-绘制简单的样条曲线图(6)_qt绘制曲线图-CSDN博客
1.添加QtChart组件
为着导入QtChart组件,首先需要添加QtChart组件。
1.先打开QT的文件夹:找到 MaintenanceTool.exe,并运行它
2.登录 —-> 选择“添加或移除组件”
3.找到相应的版本的Qt:我的是Qt6.6.3,点开后找到:“Additional Libraries”,勾选上QtCharts。
(添加其他组件也是在这里,你不放心可以全选上,但是比较占内存)
4.加载完毕后退出,打开要添加的项目文件。
2.添加导入语句:
这是官网的说明:Qt Charts 6.7.2
如果是Cmake,就在CMakeList里面添加:
find_package(Qt6 REQUIRED COMPONENTS Charts)
target_link_libraries(mytarget PRIVATE Qt6::Charts)#这里mytarget要替换为你的项目的name
(如果是qmake,就在 .pro里面添加:QT += charts。这里以CMake为例)
添加完毕后,需要在.h 头文件中添加:
这一步和2号链接的大佬的不太一样,因为大佬是Qt5版本的。
我的电脑上不需要添加Name Space也可以运行,添加了反而会报错。
#include <QtCharts/QtCharts>
编译一下,成功的话就可以开始测试能否使用了。
3.测试QtChart功能
1.打开ui设计页面,拖入一个GraphicsView(在Display Widget里)
2.鼠标右键 —> "提升为…"
3.在“提升类的名称”一栏输入:QChartView (我这里提升过,所以上面已经有QChartView 了)
然后“提升”
4.将这个组件的名字改为你想要的名字,我这里改为chartView
5.加入slots函数体测试功能:
(如果出现ui指针取不到ui界面的组件的情况,重构一下就好了)
这是2号链接的大佬的代码:
QSplineSeries* series = new QSplineSeries(); // 创建一个样条曲线对象
series->setName("曲线");
QList<QPointF> points;
for(int i = 0; i < 20; i++)
{
points.append(QPointF(i, i %7));
}
series->replace(points);
QChart* chart = ui->chartView->chart(); // 获取一个chart用于管理不同类型的series和其他图表相关对象
chart->legend()->hide(); // 隐藏图例
chart->addSeries(series); // 添加创建好的曲线图对象
chart->setTitle("曲线图图表标题"); // 设置标题
chart->createDefaultAxes(); // 基于已添加到图表中的series为图表创建轴。以前添加到图表中的任何轴都将被删除。
chart->axes(Qt::Vertical).first()->setRange(0, 20); // 设置Y轴的范围
ui->chartView->setRenderHint(QPainter::Antialiasing); // 设置抗锯齿
图像出现了,成功!!!
祝同志们都能一次性调试成功!!!
作者:RENMinWanSui!