该示例显示了如何创建Qt条形图。BarChart 将集合中的数据显示为单独的条形,这些条形在类别中。
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”或者扫描二维码加入

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