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

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

温度记录示例

Qt组件推荐:

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

 

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

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

运行示例

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

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

 

标签:

来源:慧都

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

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

相关推荐

发表回复

登录后才能评论