彩票走势图

C++跨平台开发框架Qt示例:条形图开发

翻译|使用教程|编辑:鲍佳佳|2021-04-14 10:03:12.247|阅读 194 次

概述:该示例显示了如何创建条形图。条形图将数据集中显示为单独的条形。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

Qt是一个跨平台框架,通常用作图形工具包,它不仅创建CLI应用程序中非常有用。而且它也可以在三种主要的台式机操作系统以及移动操作系统(如Symbian,Nokia Belle,Meego Harmattan,MeeGo或BB10)以及嵌入式设备,Android(Necessitas)和iOS的端口上运行。现在我们为你提供了免费的试用版。

下载Qt6最新试用版

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或者扫描下方二维码即可加入


标签:

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

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP