彩票走势图

Qt开发示例:温度记录示例

翻译|使用教程|编辑:鲍佳佳|2021-08-23 10:34:35.443|阅读 320 次

概述:本示例显示了如何创建带有负条的条形图。以温度图作为示例进行讲解。

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

温度记录示例

Qt组件推荐:

  • QtitanRibbon |下载试用:遵循Microsoft Ribbon UI Paradigm for Qt技术的Ribbon UI组件,研究为Windows、Linux和Mac OS X提供功能完整的Ribbon组件。
  • QtitanChart |下载试用:是一个C++库,代表一组,这些控件使您可以快速地为应用程序提供漂亮而丰富的图形。并且支持所有主要的桌面

 

该示例显示了如何创建带有负条的条形图。对于我们的示例,我们使用温度数据。

运行示例

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

板条箱负条

首先,我们创建两个 barset 并将数据附加到它们。一组代表最低温度,另一组代表最高温度。

 QBarSet *low = new QBarSet("Min");
    QBarSet *high = new QBarSet("Max");

    *low << -52 << -50 << -45.3 << -37.0 << -25.6 << -8.0
         << -6.0 << -11.8 << -19.7 << -32.8 << -43.0 << -48.0;
    *high << 11.9 << 12.8 << 18.5 << 26.5 << 32.0 << 34.8
          << 38.2 << 34.8 << 29.8 << 20.4 << 15.1 << 11.8;

我们创建系列并将条形集附加到它。该系列拥有 barsets 的所有权。

QStackedBarSeries *series = new QStackedBarSeries();
    series->append(low);
    series->append(high);

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

 QChart *chart = new QChart();
    chart->addSeries(series);
    chart->setTitle("Temperature records in celcius");
    chart->setAnimationOptions(QChart::SeriesAnimations);

要在轴上显示类别,我们需要创建一个QBarCategoryAxis。在这里,我们创建一个带有类别列表的类别轴,并将其添加到底部对齐的图表中,作为 x 轴。图表拥有轴的所有权。对于 y 轴,我们使用与左侧对齐的值轴。我们更改 y 轴的范围,因为这比自动缩放提供更好的结果。

 QStringList categories = {
        "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
    };

    QBarCategoryAxis *axisX = new QBarCategoryAxis();
    axisX->append(categories);
    axisX->setTitleText("Month");
    chart->addAxis(axisX, Qt::AlignBottom);
    QValueAxis *axisY = new QValueAxis();
    axisY->setRange(-52, 52);
    axisY->setTitleText("Temperature [&deg;C]");
    chart->addAxis(axisY, Qt::AlignLeft);
    series->attachAxis(axisX);
    series->attachAxis(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(600, 300);
    window.show();

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

想要了解或购买Qt正版授权的朋友,欢迎

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

 


标签:

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

文章转载自:

为你推荐

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


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP