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

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

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

Qt组件推荐

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

条形图示例

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

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

运行示例

要从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”或者扫描二维码加入

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

 

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年7月2日
下一篇 2021年7月2日

相关推荐

发表回复

登录后才能评论