Qt6.3.2下QChart的使用

这篇具有很好参考价值的文章主要介绍了Qt6.3.2下QChart的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Qt6.3.2下QChart的使用


Qt小白。
看了很多关于QCharts的使用说明。一直没能在Qt6.3.2下使用成功。总结一下失败经验。

一、Qt6.3.2下Qt Charts的安装

环境:win11,Qt6.3.2
选择在线安装,安装的时候选择6.3.2,下面的additional library全选

二、CMakeList.txt文件改写

生成新工程后,如果直接用QChart是会有各种奇怪错误。需要在CMakeList.txt中增加两行:

find_package(Qt6 REQUIRED COMPONENTS Charts)
target_link_libraries(mychart PUBLIC
    Qt::Charts
)

三、例子

其他代码的写法参照网上或例程即可。

#include "widget.h"
#include "./ui_widget.h"

#include <QtCharts/QChartView>
#include <QtCharts/QLineSeries>
#include <QtCharts/QValueAxis>
#include <QtCharts/QSplineSeries>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    QSplineSeries *series1 = new QSplineSeries();//实例化一个QLineSeries对象
    series1->setColor(QColor(0,100,255));
    series1->append(QPointF(0,rand()%200)) ;
    series1->append(QPointF(30,rand()%200)) ;
    series1->append(QPointF(60,rand()%200)) ;
    series1->append(QPointF(90,rand()%200)) ;
    series1->append(QPointF(120,rand()%200)) ;
    series1->setName("线条1");

    series1->setVisible(true);
    series1->setPointLabelsFormat("(@xPoint,@yPoint)");
    series1->setPointLabelsVisible(true);

    QChart *m_chart;
    m_chart = new QChart;
    m_chart->setTheme(QChart::ChartThemeLight);//设置白色主题
    m_chart->setDropShadowEnabled(true);//背景阴影    m_chart->setAutoFillBackground(true);  //设置背景自动填充
    m_chart->addSeries(series1);//添加系列到QChart上


    m_chart->setTitleBrush(QBrush(QColor(0,0,255)));//设置标题Brush
    m_chart->setTitleFont(QFont("微软雅黑"));//设置标题字体
    m_chart->setTitle("曲线图");


    //创建X轴和Y轴
    QValueAxis *axisX = new QValueAxis;
    axisX->setRange(0,150);    //默认则坐标为动态计算大小的
    axisX->setLabelFormat("%dS");
    QValueAxis *axisY = new QValueAxis;
    axisY->setRange(0,250);    //默认则坐标为动态计算大小的
    axisY->setTitleText("value值");

    m_chart->setAxisX(axisX,series1);
    m_chart->setAxisY(axisY,series1);
    //m_chart->createDefaultAxes();             //或者创建默认轴

    //修改说明样式
    m_chart->legend()->setVisible(true);
    m_chart->legend()->setAlignment(Qt::AlignBottom);//底部对齐
    m_chart->legend()->setBackgroundVisible(true);//设置背景是否可视
    m_chart->legend()->setAutoFillBackground(true);//设置背景自动填充
    m_chart->legend()->setColor(QColor(222,233,251));//设置颜色
    m_chart->legend()->setLabelColor(QColor(0,100,255));//设置标签颜色
    m_chart->legend()->setMaximumHeight(50);
    QChartView *chartView = new QChartView(m_chart);
    chartView->setRenderHint(QPainter::Antialiasing);

    QVBoxLayout *pVLayout = new QVBoxLayout(this);//ui->verticalLayout;//
    pVLayout->addWidget(chartView);

    resize(960, 720);

}


Widget::~Widget()
{
    delete ui;
}

四、结果

这运行结果:
Qt6.3.2下QChart的使用文章来源地址https://www.toymoban.com/news/detail-420506.html

到了这里,关于Qt6.3.2下QChart的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Qt6】QWidgetAction 的使用

    在开始主题前,先看一个 C++ 例子: 不要问这个例子的功能,问就是超能力。其实这个例子没啥功能,纯粹是为了运行后出错而写的。有同学会疑惑:这程序好像没啥问题。嗯,看着是没啥问题,我们预期的情况是:a 的值是 100,b 的值是 300。 遗憾的是,运行结果是这样的:

    2024年02月14日
    浏览(41)
  • Nginx教程(小白必看,看了必会,不看血亏),

    Notice:再使用前,请打开浏览器 F12 然后网络 然后点禁用缓存,避免nginx配置后磁盘缓存的情况。而且,请确认host没问题。 备注:你本地设置的host对服务器反向代理后的就没用了 概述 Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的

    2024年01月21日
    浏览(35)
  • 详解QT6.5在线下载—使用国内镜像

    建议去国内的镜像网站下,官网很慢 清华大学:Index of /qt/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 北京理工大学:http://mirror.bit.edu.cn/qtproject/ 中国互联网络信息中心:Index of /qt/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 推荐使用清华大学的网站 Index of /qt

    2024年02月15日
    浏览(68)
  • Qt(十三)QChart绘制折线图

    一、简单绘图 Qt Charts基于Qt的Graphics View架构,其核心组件是 QChartView 和 QChart QChartView是显示图标的视图,基类为QGraphicsView QChart的基类是QGraphicsltem 类的继承关系: 创建项目: .pro 文件中添加: QT += charts 代码如下:其他文件未修改,修改代码只在mainwindow.cpp文件中进行。 m

    2024年02月02日
    浏览(46)
  • QT之数据显示(QChart类)

    最近想把之前学过的东西都记录一次,感觉都忘了,去找文件也不知道去哪了,感觉很乱,就写一些记录吧,现在看之前自己写的文章都有点云里雾里的了,现在开始写详细一点,以便之后方便自己理解和查阅。 先看代码,感觉把注释写上比较好理解 显示的效果: 这样感觉

    2024年02月12日
    浏览(36)
  • 如何在qt6中使用replaceFirst和replaceLast

    在qt6中replace默认是replaceAll的,没有replaceFirst和replaceLast,但是可以运用QString提供的以下两个方法现实 不区分大小写用 Qt::CaseInsensitive 。 from默认值为0,从左往右搜索,如果from为-1,则搜索从最后一个字符开始;如果是-2,则在倒数第二个字符处,依此类推。 例如,从第4个位

    2024年02月10日
    浏览(28)
  • 使用 Qt6-mingw 编译 OpenCV 源码

    Qt 6.6.0 win11 x86_64 网址: https://cmake.org/download/ 选择对应的版本下载 将 cmake.exe 所在的 bin 目录添加到环境变量中 网址: https://opencv.org/releases/ 选择对应的版本下载 Source资源包 解压 “opencv-4.9.0.zip”, 将其解压的 “opencv-4.9.0” 存放到指定路径 “Path” (例如在我的电脑上 “Path”

    2024年01月24日
    浏览(44)
  • 安卓底部导航栏几种实现方式,小白菜看了都说简单。

    在创建项目时可以选择Bottom Navigation Activity进行创建。这种方式最为简单。 创建后生成的目录结构还是比较清晰的。 主布局即Activity由BottomNavigationView和fragment 构成。 BottomNavigationView 用于呈现底部导航栏,fragment组件 用于显示每个导航栏对应的Fragment Activity中的代码就很魔性

    2023年04月08日
    浏览(44)
  • 使用Python和Qt6(PySide6)创建GUI应用1简介

    在本书从GUI开发的基本原理逐步过渡到使用PySide6创建您自己的、功能齐全的桌面应用程序。 图形用户界面(GUI Graphical User Interface) 历史悠久,可追溯到20世纪60年代。斯坦福大学的NLS(ON-Line 系统引入了鼠标和窗口概念,并于1968年首次公开展示。随后,施乐公司于1973年推出

    2024年02月04日
    浏览(41)
  • opencv系列(1)--使用opencv和Qt6做一个视频监控器人脸识别

    这个程序是自己的下班之后,看看那个坏东西想来偷看我的电脑。我就随手做的一个程序。 1.能都显示摄像头的内容。 2.如果有人进入摄像头。 3.利用opencv的模型识别人脸,识别到了就保存到自己的电脑里面。 4.并把他的照片显示到界面上一段时间,告诉他,偷窥有罪。 5.程

    2024年02月11日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包