这里只点名一点:

Qt Charts是利用Qt的图形视图框架(QGraphics)搞出来的,底层并不是用OPenGL,而QML却与OPenGL的底层紧密关联

运行截图如下:

源码如下:

widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>namespace Ui {
class Widget;
}class Widget : public QWidget
{Q_OBJECTpublic:explicit Widget(QWidget *parent = 0);~Widget();public slots:void addBtnClicked();void reduceBtnClicked();private:Ui::Widget *ui;
};#endif // WIDGET_H

main.cpp

#include "widget.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();return a.exec();
}

widget.cpp

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);ui->quickWidget->setSource(QUrl("qrc:/chart.qml"));QObject *pRoot = (QObject*)ui->quickWidget->rootObject();Q_ASSERT(pRoot);connect(ui->addPushButton,SIGNAL(clicked()),pRoot,SIGNAL(addEaten()));connect(ui->reducePushButton,SIGNAL(clicked()),pRoot,SIGNAL(reduceEaten()));
}Widget::~Widget()
{delete ui;
}void Widget::addBtnClicked()
{ui->quickWidget->update();
}void Widget::reduceBtnClicked()
{ui->quickWidget->update();
}

chart.qml

import QtQuick 2.0
import QtCharts 2.0Rectangle {id: rootChartView {width: parent.widthheight: parent.heighttheme: ChartView.ChartThemeBrownSandantialiasing: truePieSeries {id: pieSeriesPieSlice { id: eaten;  label: "eaten"; value: 94.9 }PieSlice { id: unEaten; label: "not yet eaten"; value: 5.1 }}}signal addEatensignal reduceEatenonAddEaten: {eaten.value += 1.5unEaten.value -= 1.5}onReduceEaten: {eaten.value -= 1.5unEaten.value += 1.5}}

Qt文档阅读笔记-C++与QML混合编程(QML画饼状图)【通过信号与槽交互】相关推荐

  1. Qt文档阅读笔记-QQmlApplicationEngine解析与实例(qml与C++混合编程及QQuick与widgets混合)

    目录 官方解析 博主例子 官方解析 QQmlApplicationEngine提供了从一个QML文件里面加载应用程序的方式. 这类联合了QQmlEngine和QmlComponent去加载单独的QML ...

  2. Qt文档阅读笔记-共享库的创建与调用

    使用共享库的符号 这个符号可以作用在变量.类.函数中,并且这些都可以被调用端使用. 在编译共享库中,需要使用export符号.在使用端调用的时候使用import符号. 这里是本人从文档中记录的笔记,大 ...

  3. Qt文档阅读笔记-加载HeightMap(高度图)构造3D地形图

    Qt文档阅读笔记-加载HeightMap(高度图)构造3D地形图 QHeightMapSurfaceDataProxy:是Q3DSurface的一个基本代理类. 他是专门加载高度图. 高度图是没有X, ...

  4. Qt文档阅读笔记-Rotations Example相关

    Rotations Example文档阅读笔记 使用这种方式,对y轴和z轴进行旋转. QQuaternion yRotation = QQuaternion::fromAxisAndAngle(0.0 ...

  5. Qt文档阅读笔记-编写应用脚本解析与实例

    目录 官方解析 博主例子 官方解析 编写应用脚本 Qt提供了JavaScript脚本对应用程序的支持.下面将全方位说明JavaScript在Qt中的应用. Scripting Classes 如下的类 ...

  6. Qt文档阅读笔记-QWebEngineView及QML WebEngineView

    这里主要是最近有给Java Web项目及Qt项目需要混合,自己搞的QtWebEngine没有问题,而用了项目里面的,就有问题,在此阅读下官方资料,看看能不能解决这样莫名其妙的问题,在此记录下本次的阅读 ...

  7. Qt文档阅读笔记-QML Canvas的官方解析及实例

    目录 官方解析 博主例子 官方解析 Canvas可以用于画直线或曲线,简单或复杂的形状,图形,图片,并且他能加文字,颜色,阴影,和颜色梯度,和其他的装饰,可以进行低像素操作.Canvas可以保存成图像 ...

  8. Qt文档阅读笔记-moc工具使用及其理论(moc工具如何添加到makefile中)

    moc(Meta-Object Compiler):用于处理Qt中关于C++的扩展. moc工具读取C++头文件,看看这个头文件里面的类是不是包含Q_OBJECT宏,它会将这个头文件,转换为带有met ...

  9. Qt文档阅读笔记-Fortune Client Example实例解析

    目录 官方解析 实例代码 博主增加解析 官方解析 Fortune Client Example 以使用QTcpSocket为例子,服务端可以配合Fortune Server或Threaded Fort ...

  10. Qt文档阅读笔记-对Style Plugin Example实例的解析

    目录 前言 Style Plugin Example SimpleStylePlugin Class 定义 SimpleStylePlugin Class 实现 main()函数 The Simple ...

最新文章

  1. 用计算机问你叫什么名字,计算器女友与男子谈情说爱 一分钟发出各种甜言蜜语...
  2. hdu2158 最短区间版大家来找碴
  3. ubuntu9.10中更改启动顺序(grub2的配置)
  4. JS高级进阶之ECMAScript 常见面试题
  5. linux系统日志_Linux系统学习系列——Linux系统日志管 理(下 )
  6. 【Python】之split()方法
  7. mysql insert锁 innodb_mysql – 处理ON INSERT触发器时如何锁定innodb表?
  8. 《软件设计师》考点分布
  9. 获得资源配置文件的路径
  10. 微信部分功能故障 已全部恢复
  11. 全解MySQL之架构篇:自顶向下深入剖析MySQL整体架构
  12. 《数据结构与算法》(十九)- 多路查找树
  13. Seurat对象查看data错误
  14. Java基础一(Java核心技术卷I)
  15. scratch加法出题机 电子学会图形化编程scratch等级考试三级真题和答案解析2021-3
  16. 一文看懂区块链架构设计(附知识图谱)
  17. 服务器性能自动化测试脚本
  18. 【计算机科学基础】翻译、编译、解释、汇编
  19. ras加密 java_浅析RAS算法的保密性能
  20. 计算机毕设(附源码)JAVA-SSM交通违章举报平台

热门文章

  1. C#如何用Graphics画出一幅图表
  2. 配置 Syslog 守护程序
  3. IMail邮件服务-1
  4. 没事聊聊C++局域网聊天软件
  5. 创业者的十大“必杀技”
  6. 炸锅了!阿里Ant Design前端框架的圣诞彩蛋事件
  7. 大白话,讲编程之《ES6系列连载》汇总,再也不用翻历史消息了
  8. php mysqli报错,php安装扩展mysqli的实现步骤及报错解决办法
  9. mysql8.0免安教程图解,mysql 8.0.21免安装版配置方法图文教程
  10. 苹果网页归档转html,常用JS转换HTML转义符