自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(320)
  • 资源 (1)
  • 收藏
  • 关注

原创 QML之TabView

TabView的示例Window{ id:window; visible:true; width:400 height:400 ColumnLayout{ anchors.fill:parent; spacing:0 TabView{ Layout.fillWidth:true

2017-08-31 21:49:22 1769

原创 QML的Window与ApplicationWindow

Qt Quick中ApplicationWindow与WindowApplicationWindow需要导入QtQuick.Controls Window需要导入QtQuick.Window 。 默认不可见,需要设置visible:true才可见。 主要区别就是ApplicationWindow提供了简单的方式创建程序窗口,因为其有属性menuBar、toolBar、Tabview等属性,可

2017-08-31 19:14:07 6620

原创 QML之QQmlApplicationEngine

QQmlApplication继承自QQmlEngine,提供了一种方便的方式:从单个qml文件中加载应用程序。QList<QObject *>rootObjects()与QQuickView不同的是,QQmlApplicationEngine不会自动创建一个根窗口。如果使用可视化项目,需要将他们放入Window里。QGuiApplication app(argc, argv); QQuic

2017-08-31 19:04:21 12704

原创 初始化QML运行环境

QML运行环境要运行一个使用QML的应用程序,QML运行环境必须由应用程序调用。两种方式 通过QQuickView加装QML文件创建一个QQmlEngine,并且使用QQmlComponent加装QML文件用QQuickView初始化QQuickView是一个基于QWindow的类,能够加装QML文件。int main(int argc,char *argv[]){ QGuiApplic

2017-08-31 18:33:36 1162

原创 QML组件之Component

使用Component类型除了使用单独的QML文件,还可以使用Component类型在一个 QML文档中定义一个组件。 如:import QtQuick 2.2Item { width:100;height:100//定义的Component必须包含一个唯一的根对象//如这里是Rectangle Component { id:redSquare;

2017-08-31 16:36:38 1983

原创 QML文档定义对象

通过QML文档定义对象类型将一个QML文档放置到一个以<TypeName>.qml命名的文本文件中,这里<TypeName>是类型的名称,必须以大写字母开头,这个文档会自动被引擎识别为一个QML类型的定义。//引擎解析QML类型名称时候,需要搜索相同的目录,所以这种方式定义的类型,同一目录中的其他QML文件会被自动设置为可用的。如2个QML文件,下//SquareButton.qmlimport

2017-08-31 16:08:40 631

原创 C++对象与QML属性

导出//QQuickViewQQuickview viewer;viewer.rootContext()-> setContextProperty("colorMaker",new ColorMaker);viewer.serSource(QUrl("qrc:///main.qml"));从堆上分配了一个ColorMaker对象,然后注册为QML上下文是属性,名字为colorMaker。 vi

2017-08-31 15:44:03 800

原创 QML中使用C++的枚举类型

C++头文件定义枚举类型class Gemini:public QObject{ Q_OBJECT Q_ENUMS(BALL_COLOR) public: Gemini():m_ballColor(BALL_COLOR_YELLOW){ qDebug()<<"Gemini::Gemini() called"; }

2017-08-30 23:48:38 4613 2

原创 QML与C++中信号和槽的使用

信号与槽//Gemini.hclass Gemini:public Q_Object{ Q_OBJECT signals: void begin() public slots: void doSomething(){ qDebug()<<"Gemini ::doSomething() called";

2017-08-30 23:36:04 2987

原创 Qt中的loader

使用LoaderLoader用来动态加载QML组件,可以看做是一种占位符,可以加载一个QML文件(使用source属性)或者一个组件对象(使用sourceComponent属性),Loader主要用于延迟组件的创建,使一个组件的创建被延迟到真正需要的时候。 如只有在MouseArea单击鼠标才加载Page1.qml文件import QtQuick 2.2Item { width:200;

2017-08-30 21:07:57 2097

原创 Qt之createObject

动态创建组件1:Qt.createComponent(); 2:Qt.createQmlObject()函数,从一个QML字符串创建一个对象。 第一种方法适用于已经有一个QML文档定义的组件,而且希望动态创建该组件的一个实例; 如果QML本身是在运行时候产生的,那么可以使用第二种方法。

2017-08-30 19:14:04 2454

原创 Qt之Connections类型

使用Connections类型QtQuick模块提供了Connections类型,用于连接外部对象的信号。Connections对象可以接受指定目标(target)的任意信号。如下面的代码没有在发出clicked信号的MouseArea内响应这个信号,而是通过Connections对象,在mouseArea外部处理信号。import QtQuick 2.2Rectangle { id:re

2017-08-30 17:14:45 1437

原创 QML与C++交换数据

C++调用QML方法QML和C++对象之间可以通过信号、槽、属性修改等机制进行通信。对于一个C++对象,任何一个暴露在Qt的元对象系统中的数据–属性–信号–槽和使用Q_INVOKEABLE标记的方法都可以在QML中访问。在QML端,所有QML对象的数据都可以在Qt元对象系统和C++中访问。//MyItem.qmlimport QtQuick 1.0Item { function myQm

2017-08-30 16:12:48 920

原创 QGC之MainWindow

ui\MainWindow.cc在QGCApplication中调用了MainWindow::_create()MainWindow * MainWindow::_create(){ new MainWindow(); return _instance;}在MainWindow的构造方法,构造方法是私有的,为了得到一个单例的MainWindow,只有在MainWindow::_cr

2017-08-30 11:00:14 608

原创 Qt窗口

窗口类型QWidget的构造函数有2个参数 QWidget *parent=0和Qt::WindowFlags f=0 parent指的是父窗口控件,默认是0,表示没有父窗口; 而f参数是Qt::WindowFlags类型的,是一个枚举类型,分为窗口类型(WindowType)和窗口标志(WindowFlags)。前者定义窗口的类型,如f=0表明使用了Qt::widget一项,这是QWidge

2017-08-30 10:25:00 374

原创 QML类与对象列表或分组

对象类型的属性如果对象类型成功注册到QML类型系统,就可以在QML中访问对象类型的属性。如Message有一个MessageBody *类型的body属性:class Message:public QObject{ Q_OBJECT Q_PROPERTY(MessageBody * body READ body WRITE setBody NOTIFY bodyChanged)

2017-08-29 18:29:01 1478

原创 QML与C++的集成

QML与C++QML引擎与Qt的元对象系统的集成,使得QML中可以直接调用C++的功能。 只有QObject子类才能够将数据或者函数提供给QML使用。由于QML引擎集成了Qt元对象系统,由QObject派生的所有子类的属性、方法和信号灯都可以在QML中访问。C++类可以被注册为一个可实例化的QML类型,这样他就可以像其它普通QML对象类型一样在QML代码中被实例化使用C++类可以被注册为一个单

2017-08-29 18:07:10 563

原创 QML中项目

1.ItemQt quick的所有可视项目都继承自Item。虽然单独的Item对象没有可视化外观,但是它定义了可视化项目所有通用的特性,如x,y,width,height等属性、关于布局的anchors相关属性、和关于按键处理的Keys属性等。1.1作为容器Item常用于对项目进行分组。在一个根项目下,使用Item对象组织其他项目。Item{ Image{ x:80

2017-08-29 14:40:08 1072

原创 QML属性和对象

QML对象和属性QML文档就是一个QML对象树。 import QtQuick 2.2 Rctangle{ width:400 height:400 color:'blue' Image{ source:'pics/logo.png' anchors.centerIn:par

2017-08-28 23:47:55 2729

原创 JS中引用类型

引用类型引用类型的值是引用类型的一个实例。在ECMAScript中,引用类型是一种数据结构,用于将数据和功能组织在一起,它也被称为类。 对象是某个引用类型的实例。 新对象是使用new操作符跟一个构造函数来创建的。构造函数本身就是一个函数,只不过该函数是出于创建新对象的目的而定义的。Object类型var perosn=new Object(); 这行代码创建了一个Object引用类型的一个新实例

2017-08-28 21:32:11 315

原创 Mongodb

几个基本概念文档数据的基本单元,非常类似于关系数据库中的行;集合可以看作是一个拥有动态模式的表MongnDB的一个实例可以拥有多个相互独立的数据库,每个数据库拥有自己的集合每一个文档都有一个特殊的建_id,这个键在文档所属的集合中是唯一的自带了一个简单但是功能强大的javascript shell文档文档就是键值对的一个有序集合。集合集合就是一组文档,如果将MongoDB中的一个文档比喻

2017-08-28 15:54:05 302

原创 JS中对象

ECMAScript中对象ECMAScript中没有类的概念。ECMA-262将对象定义为:无序属性的 集合,其属性可以包含基本值、对象或者函数。严格来讲对象就是一组没有特定顺序的值。对象的每个属性或方法都有一个名字,而每个名字都映射到一个值。我们可以将ECMAScript想象成一个散列表:无非就是一组名值对,其中值可以是数据或者函数。理解对象创建自定义对象最简单方式就是创建一个Object实例,然

2017-08-28 14:18:11 216

原创 Node Web

Node的Http模块var http=require('http');var server=http.createServer(function(req,res){ //处理请求})需要http.createServer()函数。它只有1个参数,是个回调函数,服务器每次收到HTTP请求都会调用这个回调函数。这个回调会收到2个参数,请求和响应对象,req和res;

2017-08-28 11:17:11 239

原创 node.js中的DIRT程序

DIRTdata-intensive real-time:数据密集型实时程序。 package.json总是被放在程序的根目录下。package.json用于描述你的应用程序创建模块模块既可以是一个文件,也可以是包含一个或者多个文件的目录。如果模块是目录,Node通常会在这个目录下找一个index.js的文件作为模块的入口。用module.exports微调模块的创建尽管用函数和变量组装expor

2017-08-27 20:17:07 718

原创 node.js中的exports

区别1.module.exports初始值为一个空对象{}; 2.exports是指向module.exports的引用; 3.require返回的是module.exports而不是exports。 可以常见: exports=module.exports=something; 原理很简单:当module.exports指向新的对象时候,exports断开了与module.exports

2017-08-26 19:29:10 596

原创 Node.js模块的概念

模块:原生模块和文件模块原生模块:启动的时候就被加载 文件模块:动态加载模块。加载文件模块的 工作主要由原生模块module来实现和完成。原生模块在启动时候已经被加载,而文件模块则需要通过调用require方法来加载。1.原生模块的调用require加载成功后返回一个node.js模块的对象,该对象拥有该模块的所有属性和方法。var httpModule=require('http');"htt

2017-08-26 17:14:35 365

原创 Node.Js

第一章var http=require('http');http.createServer(function(req,res){ res.writeHead(200,{'Content-Type':'text/plain'}); res.end('Hello World\n');}).listen(8124,'127.0.0.1');console.log('Server ru

2017-08-25 12:41:37 276

原创 QGC之qml学习

QGCToolBarButton这个控件是QGCToolBarButton.qml中。 在qgroundcontrol.qrc/qml/QGroundControl/Controls/QGCToolBarButton.qml中。 在MainToolBar.qml程序的主界面中:引入了这5个QGCToolBarButton 在一个qrc文件维护的qml中,如果qresource prefix相同

2017-08-22 23:21:25 829

原创 Qt Quick元素布局

元素布局Item Positioner(定位器)Item Layout(布局)锚布局定位器定位器是一种容器元素,专门用来管理界面中的其他的元素。ROWColumnGridFlowExclusiveGroupExclusiveGroup(互斥分组)本身是不可见元素,用于将若干个元素组合在一起,供用户选择其中的一个选项。 你可以在ExclusiveGroup对象中定义RadioButton、Che

2017-08-22 16:46:14 439

原创 QGC的MainToolBarIndicator

QGC的MainToolBar一直在疑惑,打开QGroundControl地面站软件,没有连接飞控的时候,会显示“Waiting For Vehicle Connection ”找不到来源 最后是在Resources/qgroundcontrol.qrc/qml/QGroundControl/Controls/MainToolBarIndicators.qml中。 MainToolBar.qml

2017-08-22 12:21:46 1156

原创 Mysql插入大量数据

预处理插入大数据//去掉最后一个逗号问题//可根据情况调整$chu=(int)($count/5000);//取整$yu=$count%5000; //余数for($i=0;$i<$chu;$i++){ $value=''; for($j=$i*5000;$j<($i+1)*5000;$j++){ //拼接values的值 $values.='

2017-08-21 18:47:17 485

原创 Qt Quick学习笔记(六)

第10章CanvasQML中的canvas,俗称画布,它用来定义一个绘图区域,你可以使用ECMAScript代码来绘制直线、矩形、贝塞尔曲线、弧线、图片文字等图元,还可以为图元应用填充颜色和边框颜色,甚至还可以进行低阶像素级操作。Context2Dvar ctx=getContext(“2d”);画笔笔有颜色,是为strokeStyle属性;笔有粗细,是为lineWidth属性。画刷在Context

2017-08-21 11:48:32 375

原创 Qt Quick学习笔记(五)

QML与C++混合编程Qt提供了两种在QML环境中使用C++对象的方式: 1.在C++中实现一个类,注册为QML环境的一个类型,在QML环境中使用该类型创建对象 2.在C++中构建一个对象,将这个对象的属性设置为QML的上下文属性,在QML环境中直接使用该属性。定义可以导出的类前提条件: 从QObject或派生类继承 使用Q_OBJECT宏 是为了让一个类进入Qt强大的元对象系统,只有使用

2017-08-20 21:04:43 437

原创 Qt Quick学习笔记(四)

第六章Qt Quick最大的特定就是与Qt元对象系统的结合。Connections对象一个Connections对象创建一个到QML信号的连接Connections{ target:area; ``on<Signal>``:function or code block;} Button{ id:changeButton; anchors.hor

2017-08-20 19:03:57 298

原创 Qt Quick学习笔记(三)

第五章浏览器对于ECMAScript是宿主环境,但不是唯一的宿主环境,其他非浏览器宿主环境如Flash与Director MX中的ActionScript,以及QML。ECMAScript规定了如下内容:语法类型语句关键字保留字运算符对象ECMAScript仅仅是一个描述,定义了脚本语言所有属性、方法和对象。其他语言可以实现ECMAScript来作为功能的继承,如JavaScript

2017-08-20 18:39:51 353

原创 Qt Quick学习笔记(二)

第四章#include<QGuiApplication>#include<QQmlApplicationEngine>int main(int argc,char * argv[]){ QGuiApplication app(argc,argv); QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral(

2017-08-20 18:18:09 500

原创 Qt quick核心编程学习(一)

第三章QML支持ECMAScript表达式 BUtton{ text:"Quit"; style:ButtonStyle{ background:Rectangle{ implicitWidth:70; implicitHeight:25; b

2017-08-20 16:35:38 1431

原创 QT中的QML元素

QMLQML实现并且扩展了ECMAScript,是一种说明性语言,用来描述基于Qt对象系统的用户界面。QML提供了高可读、声明式的 、类CSS的语法,支持结合动态属性绑定的ECMAScript表达式。 Qt Quick模块是开发QML应用的标准库,提供了使用QML创建用户界面需要的一切东西,包含可视化类型、交互类型、动画、模型和视图、粒子特效与着色器基本QML元素Item:被其他QML元素继承的基

2017-08-20 16:09:45 534

原创 QT之窗口

QWidget基础窗口部件QWidget类是所有用户的界面对象的基类,窗口和控件都是直接或间接继承自QWidget。Widget窗口部件(widget)简称部件,是QT中建立界面的主要元素,QT 中把没有嵌入到其他部件的称为窗口。一般窗口都有边框,标题栏,窗口是指程序的整体界面,可以包含标题栏、菜单栏、工具栏、关闭按钮、最大最小化;控件指的是按钮、复选框、文本框、表格、进度条等这些组成程序的基本元

2017-08-20 15:34:30 437

原创 QGC之qml

主要的qmlLogDownloadPage.qmlresource/qgroundcontrol.qrc/qml/QGroundControl/LogDownloadPage.qml主要定义了一个AnalyzePage对象AnalyzePage{ id:logDownloadPage pageComponent:pageComponent pageName:qsTr("log

2017-08-20 15:01:00 1975

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除