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
)
三、例子
其他代码的写法参照网上或例程即可。文章来源:https://www.toymoban.com/news/detail-420506.html
#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;
}
四、结果
这运行结果:
文章来源地址https://www.toymoban.com/news/detail-420506.html
到了这里,关于Qt6.3.2下QChart的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!