该示例显示了如何创建条形图。条形图将数据集中显示为单独的条形。
Qt组件推荐:
- QtitanRibbon| 下载试用: 遵循Microsoft Ribbon UI Paradigm for Qt技术的Ribbon UI组件,致力于为Windows、Linux和Mac OS X提供功能完整的Ribbon组件。
- QtitanChart | 下载试用 :是一个C ++库,代表一组控件,这些控件使您可以快速地为应用程序提供漂亮而丰富的图表。并且支持所有主要的桌面。
- QtitanNavigation | 下载试用 :模拟Microsoft Dynamics CRM-2016/Office 365导航界面和一组控件改善Qt.C ++应用程序用户体验的QtitanNavigation组件。
该示例显示了如何创建条形图。
条形图将数据集中显示为单独的条形,属于类别。

运行示例
要从Qt Creator中运行该示例,请打开欢迎模式并从示例中选择该示例。有关更多信息,请访问构建和运行示例。
创建条形图
在所有的柱状图中,柱状图的使用方式都是一样的。为了说明各种柱状图之间的区别,我们在示例中使用相同的数据。条形图可视化的数据,是由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;
我们创建系列,并将条形图附加到它上面。该系列拥有小节的所有权。该系列将数据从组到类别进行分组。每个集合的第一个值被归入第一类,第二个值归入第二类,以此类推。
QBarSeries *series = new QBarSeries(); series->append(set0);(set0); series->append(set1);(set1); series->append(set2);(set2); series->append(set3);(set3); series->append(set4);(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););
最后我们将图表添加到一个视图中。我们还为chartView打开抗锯齿功能。
QChartView *chartView = new QChartView(chart);chart); chartView->setRenderHint((QPainter::Antialiasing););
该图表已准备好显示。我们将图表设置为窗口的中央小部件。我们还设置图表窗口的大小并显示它。
QMainWindow window;; window.setCentralWidget(chartView);(chartView); window.resize((420, 300); window.show();();
====================================================
想要了解或购买Qt正版授权的朋友,欢迎咨询官方客服
Qt技术交流群现已开通,QQ搜索群 “765444821”或者扫描下方二维码即可加入

标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!