Qt界面开发入门:条形图示例

转帖|使用教程|编辑:鲍佳佳|2021-08-04 11:36:13.270|阅读 40 次

概述:该示例显示了如何创建Qt条形图。BarChart 将集合中的数据显示为单独的条形,这些条形在类别中。

# 31款JAVA开发必备控件和工具 # 企业数字化建设合规无风险[专题]

相关链接:

Qt技术交流交流群,QQ搜索群号“765444821”加入

Qt组件推荐

  • QtitanRibbon |下载试用:遵循微软的Ribbon UI范式的Qt技术的丝带UI组件,研究为在Windows,Linux和Mac OS X上提供功能完整的丝带组件。
  • QtitanChart |下载试用:是一个C ++库,代表一组,这些控件使您可以快速地为

条形图示例

该示例显示了如何创建条形图。BarChart 将集合中的数据显示为单独的条形,这些条形在类别中。

运行示例

要从Qt Creator运行示例,请打开Welcome模式并从Example中选择示例。有关更多信息,请访问构建和运行示例

创建条形图

条形图在所有条形图中的使用方式相同。为了说明各种条形图之间的差异,我们在示例中使用了相同的数据。条形图可视化的数据由QBarSet实例定义。在这里,我们创建集合并将数据附加到它们。数据在此处附加了 << 运算符。或者,可以使用 append 方法。


    QBarSet *set0 = new QBarSet("Jane");
    QBarSet *set1 = new QBarSet("John");
    QBarSet *set2 = new QBarSet("Axel");
    QBarSet *set3 = new QBarSet("Mary");
    QBarSet *set4 = new QBarSet("Samantha");

    *set0 << 1 << 2 << 3 << 4 << 5 << 6;
    *set1 << 5 << 0 << 0 << 4 << 0 << 7;
    *set2 << 3 << 5 << 8 << 13 << 8 << 5;
    *set3 << 5 << 6 << 7 << 3 << 4 << 5;
    *set4 << 9 << 7 << 5 << 3 << 1 << 2;


我们创建系列并将条形集附加到它。该系列拥有 barsets 的所有权。该系列将数据从集合分组到类别。每组的第一个值按第一类第二个值分组到第二类,依此类推。


   QBarSeries *series = new QBarSeries();
    series->append(set0);
    series->append(set1);
    series->append(set2);
    series->append(set3);
    series->append(set4);


在这里,我们创建图表对象并向其添加系列。我们使用 setTitle 设置图表的标题,然后通过调用 setAnimationOptions( QChart::SeriesAnimations )打开系列的动画


  QChart *chart = new QChart();
    chart->addSeries(series);(series);
    chart->setTitle(("Simple barchart example");
    chart->setAnimationOptions((QChart::SeriesAnimations););


要在轴上显示类别,我们需要为此创建一个QBarCategoryAxis。在这里,我们创建了一个带有类别列表的类别轴,并将其设置为与底部对齐,充当 x 轴,并将其附加到系列中。图表拥有轴的所有权。对于 y 轴,我们使用与左侧对齐的值轴。


 QStringList categories;;
    categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";
    
    QBarCategoryAxis *axisX = new QBarCategoryAxis();
    axisX->append(categories);(categories);
    chart->addAxis(axisX(axisX, Qt::AlignBottom););
    series->attachAxis(axisX);(axisX);

    QValueAxis *axisY = new QValueAxis();
    axisY->setRange((0,15);
    chart->addAxis(axisY(axisY, Qt::AlignLeft););
    series->attachAxis(axisY);(axisY);


我们也想展示传奇。为此,我们从图表中获取图例指针并将其设置为可见。我们还通过将其对齐设置为Qt::AlignBottom将图例放置在图表的底部。


  chart->legend()()->setVisible((true);
    chart->legend()->setAlignment(Qt::AlignBottom);


最后,我们将图表添加到视图中。我们还为图表视图打开了抗锯齿功能。


 QChartView *chartView = new QChartView(chart);
    chartView->setRenderHint(QPainter::Antialiasing);


图表已准备好显示。我们将图表设置为窗口的中央小部件。我们还设置图表窗口的大小并显示它。


    QMainWindow window;
    window.setCentralWidget(chartView);
    window.resize(420, 300);
    window.show();


================================================== ==

想要了解或购买Qt正版授权的朋友,欢迎咨询慧都官方客服

Qt技术交流交流群开放,QQ搜索群号“765444821”或者扫描二维码加入

 


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至hey@evget.com

文章转载自:Qt

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
在线咨询
联系我们
TOP
在线客服系统
live chat