【Qt开发笔记】Qt使用QChart绘制饼状图

Qt绘制饼状图

qt版本:5.7.0
编译器:MSVC2015

新建一个应用工程,在.pro中添加QT += charts

QT += charts

.ui中添加一个Vertical Layout

这里写图片描述

.h中包含头文件

#include <QtCharts>
#include <QtCharts/QPieSeries>
#include <QtCharts/QPieSlice>

.cpp中添加饼状图

// 构造两个饼状分区,A数据显示绿色占60%,B数据显示蓝色占40%
QPieSlice *slice_1 = new QPieSlice(QStringLiteral("A数据"), 0.6, this);
slice_1->setLabelVisible(true); // 显示饼状区对应的数据label
slice_1->setBrush(Qt::green);
QPieSlice *slice_2 = new QPieSlice(QStringLiteral("B数据"), 0.4, this);
slice_2->setLabelVisible(true);
slice_2->setBrush(Qt::blue);

// 将两个饼状分区加入series
QPieSeries *series = new QPieSeries(this);
series->append(slice_1);
series->append(slice_2);

QChart *chart = new QChart();
chart->addSeries(series);
chart->setAnimationOptions(QChart::AllAnimations); // 设置显示时的动画效果

QChartView *chartview = new QChartView(this);
chartview->show();
chartview->setChart(chart);

ui->verticalLayout->insertWidget(0, chartview);

编译、调试,出现界面效果

这里写图片描述

  • 3
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Qt Text Browser是Qt的一个非常常用的文本显示控件,它可以用来呈现各种文本内容。而画则是一种数据可视化的方式,将数据以形的方式展现出来,可以使数据更加直观易懂。那么,如何在Qt Text Browser中画呢? 一种常见的方法是使用HTML代码来绘制。首先需要在Qt Text Browser中使用setText()函数设置文本内容。在文本内容中插入HTML代码,通过设置的样式和数据,即可在文本框中显示。下面是一个简单的HTML代码实例: ``` QString html = "<html><head><style>" "table {border-collapse: collapse;}" "td {padding: 2px;}" ".slice {" "position: relative;" "border-radius: 50%;" "}" ".filler {" "position: absolute;" "top: 0;" "left: 0;" "width: 100%;" "height: 100%;" "border-radius: 50%;" "background-color: #45a049;" "}" "</style></head>" "<body>" "<h2>示例</h2>" "<table>" "<tr><td>项目1</td><td>30%</td><td><div class='slice'><div class='filler' style='transform: rotate(0.3turn);'></div></div></td></tr>" "<tr><td>项目2</td><td>20%</td><td><div class='slice'><div class='filler' style='transform: rotate(0.2turn);'></div></div></td></tr>" "<tr><td>项目3</td><td>50%</td><td><div class='slice'><div class='filler' style='transform: rotate(0.5turn);'></div></div></td></tr>" "</table>" "</body></html>"; ui->textBrowser->setHtml(html); ``` 在这个代码中,首先定义了一些CSS样式来设置的样式,包括的宽高、填充颜色等。然后通过HTML table标签和CSS样式来布局和设置的数据。使用QT文本框的setHtml函数可以将这个HTML代码导入到Qt Text Browser中,即可在文本框中显示了。 当然,绘制的方式还有很多种,可以使用Qt的QPainter类来绘制。不过,相对而言这种方式比较复杂,需要熟悉绘API和一些基本的几何知识。无论采用哪种方式绘制,都需要注意Qt Text Browser的显示特性和HTML代码的兼容性问题,确保的正确显示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值