Qt文档阅读笔记-C++与QML混合编程(QML画饼状图)【通过信号与槽交互】
这里只点名一点:
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画饼状图)【通过信号与槽交互】相关推荐
- Qt文档阅读笔记-QQmlApplicationEngine解析与实例(qml与C++混合编程及QQuick与widgets混合)
目录 官方解析 博主例子 官方解析 QQmlApplicationEngine提供了从一个QML文件里面加载应用程序的方式. 这类联合了QQmlEngine和QmlComponent去加载单独的QML ...
- Qt文档阅读笔记-共享库的创建与调用
使用共享库的符号 这个符号可以作用在变量.类.函数中,并且这些都可以被调用端使用. 在编译共享库中,需要使用export符号.在使用端调用的时候使用import符号. 这里是本人从文档中记录的笔记,大 ...
- Qt文档阅读笔记-加载HeightMap(高度图)构造3D地形图
Qt文档阅读笔记-加载HeightMap(高度图)构造3D地形图 QHeightMapSurfaceDataProxy:是Q3DSurface的一个基本代理类. 他是专门加载高度图. 高度图是没有X, ...
- Qt文档阅读笔记-Rotations Example相关
Rotations Example文档阅读笔记 使用这种方式,对y轴和z轴进行旋转. QQuaternion yRotation = QQuaternion::fromAxisAndAngle(0.0 ...
- Qt文档阅读笔记-编写应用脚本解析与实例
目录 官方解析 博主例子 官方解析 编写应用脚本 Qt提供了JavaScript脚本对应用程序的支持.下面将全方位说明JavaScript在Qt中的应用. Scripting Classes 如下的类 ...
- Qt文档阅读笔记-QWebEngineView及QML WebEngineView
这里主要是最近有给Java Web项目及Qt项目需要混合,自己搞的QtWebEngine没有问题,而用了项目里面的,就有问题,在此阅读下官方资料,看看能不能解决这样莫名其妙的问题,在此记录下本次的阅读 ...
- Qt文档阅读笔记-QML Canvas的官方解析及实例
目录 官方解析 博主例子 官方解析 Canvas可以用于画直线或曲线,简单或复杂的形状,图形,图片,并且他能加文字,颜色,阴影,和颜色梯度,和其他的装饰,可以进行低像素操作.Canvas可以保存成图像 ...
- Qt文档阅读笔记-moc工具使用及其理论(moc工具如何添加到makefile中)
moc(Meta-Object Compiler):用于处理Qt中关于C++的扩展. moc工具读取C++头文件,看看这个头文件里面的类是不是包含Q_OBJECT宏,它会将这个头文件,转换为带有met ...
- Qt文档阅读笔记-Fortune Client Example实例解析
目录 官方解析 实例代码 博主增加解析 官方解析 Fortune Client Example 以使用QTcpSocket为例子,服务端可以配合Fortune Server或Threaded Fort ...
- Qt文档阅读笔记-对Style Plugin Example实例的解析
目录 前言 Style Plugin Example SimpleStylePlugin Class 定义 SimpleStylePlugin Class 实现 main()函数 The Simple ...
最新文章
- 用计算机问你叫什么名字,计算器女友与男子谈情说爱 一分钟发出各种甜言蜜语...
- hdu2158 最短区间版大家来找碴
- ubuntu9.10中更改启动顺序(grub2的配置)
- JS高级进阶之ECMAScript 常见面试题
- linux系统日志_Linux系统学习系列——Linux系统日志管 理(下 )
- 【Python】之split()方法
- mysql insert锁 innodb_mysql – 处理ON INSERT触发器时如何锁定innodb表?
- 《软件设计师》考点分布
- 获得资源配置文件的路径
- 微信部分功能故障 已全部恢复
- 全解MySQL之架构篇:自顶向下深入剖析MySQL整体架构
- 《数据结构与算法》(十九)- 多路查找树
- Seurat对象查看data错误
- Java基础一(Java核心技术卷I)
- scratch加法出题机 电子学会图形化编程scratch等级考试三级真题和答案解析2021-3
- 一文看懂区块链架构设计(附知识图谱)
- 服务器性能自动化测试脚本
- 【计算机科学基础】翻译、编译、解释、汇编
- ras加密 java_浅析RAS算法的保密性能
- 计算机毕设(附源码)JAVA-SSM交通违章举报平台
热门文章
- C#如何用Graphics画出一幅图表
- 配置 Syslog 守护程序
- IMail邮件服务-1
- 没事聊聊C++局域网聊天软件
- 创业者的十大“必杀技”
- 炸锅了!阿里Ant Design前端框架的圣诞彩蛋事件
- 大白话,讲编程之《ES6系列连载》汇总,再也不用翻历史消息了
- php mysqli报错,php安装扩展mysqli的实现步骤及报错解决办法
- mysql8.0免安教程图解,mysql 8.0.21免安装版配置方法图文教程
- 苹果网页归档转html,常用JS转换HTML转义符