qt
LC900730
这个作者很懒,什么都没留下…
展开
-
Qt中UI::MainWindow与MainWindow
在创建Qt widget Application中,可以选择创建带ui的或者不带ui的应用程序。 如果选择带.ui的应用,则 MainWindow是Ui命名空间的MainWindow。namespace Ui{class MainWindow;}class MainWindow:public QMainWidow{ Q_OBJECT public : exp原创 2017-09-01 18:03:57 · 19723 阅读 · 0 评论 -
Qt之Connections类型
使用Connections类型QtQuick模块提供了Connections类型,用于连接外部对象的信号。Connections对象可以接受指定目标(target)的任意信号。如下面的代码没有在发出clicked信号的MouseArea内响应这个信号,而是通过Connections对象,在mouseArea外部处理信号。import QtQuick 2.2Rectangle { id:re原创 2017-08-30 17:14:45 · 1438 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Qt的QStringList
是最简单的模型类,具备向视图提供字符串数据的能力。 QStringList是一种常用的数据类型,实际上是一个字符串列表(也就是QList<QString>)QStringListModel很多时候会作为QListView或者QComboBox这种只有一列的视图组件的数据模型。//myistview.hclass myListView:public QWidget{ Q_OBJECTpu原创 2017-09-22 14:33:46 · 979 阅读 · 0 评论 -
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 · 377 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Qt之createObject
动态创建组件1:Qt.createComponent(); 2:Qt.createQmlObject()函数,从一个QML字符串创建一个对象。 第一种方法适用于已经有一个QML文档定义的组件,而且希望动态创建该组件的一个实例; 如果QML本身是在运行时候产生的,那么可以使用第二种方法。原创 2017-08-30 19:14:04 · 2456 阅读 · 0 评论 -
Qt中的loader
使用LoaderLoader用来动态加载QML组件,可以看做是一种占位符,可以加载一个QML文件(使用source属性)或者一个组件对象(使用sourceComponent属性),Loader主要用于延迟组件的创建,使一个组件的创建被延迟到真正需要的时候。 如只有在MouseArea单击鼠标才加载Page1.qml文件import QtQuick 2.2Item { width:200;原创 2017-08-30 21:07:57 · 2098 阅读 · 0 评论 -
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 阅读 · 0 评论 -
QML之QQmlApplicationEngine
QQmlApplication继承自QQmlEngine,提供了一种方便的方式:从单个qml文件中加载应用程序。QList<QObject *>rootObjects()与QQuickView不同的是,QQmlApplicationEngine不会自动创建一个根窗口。如果使用可视化项目,需要将他们放入Window里。QGuiApplication app(argc, argv); QQuic原创 2017-08-31 19:04:21 · 12706 阅读 · 0 评论 -
初始化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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
QML文档定义对象
通过QML文档定义对象类型将一个QML文档放置到一个以<TypeName>.qml命名的文本文件中,这里<TypeName>是类型的名称,必须以大写字母开头,这个文档会自动被引擎识别为一个QML类型的定义。//引擎解析QML类型名称时候,需要搜索相同的目录,所以这种方式定义的类型,同一目录中的其他QML文件会被自动设置为可用的。如2个QML文件,下//SquareButton.qmlimport原创 2017-08-31 16:08:40 · 632 阅读 · 0 评论 -
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 · 801 阅读 · 0 评论 -
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 · 4615 阅读 · 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 阅读 · 0 评论 -
Qt Quick属性特性
QQmlApplicationEngine加载QML文件。这个类主要提供一种简易的方式,将一个QML文件加载到正在运行的程序中。因为项目中自动生成的QML文件被放到资源文件中,因此使用qrc:///前缀,从资源文件中加载。id是个特殊对象属性,我们无法使用XX.id来获取这个值。1.定义属性1.可以在C++中通过注册一个类的Q_PROPERTY宏,注册到QML系统定义。 2.还可以[default原创 2017-09-13 23:42:33 · 535 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Qt Quick元素布局
元素布局Item Positioner(定位器)Item Layout(布局)锚布局定位器定位器是一种容器元素,专门用来管理界面中的其他的元素。ROWColumnGridFlowExclusiveGroupExclusiveGroup(互斥分组)本身是不可见元素,用于将若干个元素组合在一起,供用户选择其中的一个选项。 你可以在ExclusiveGroup对象中定义RadioButton、Che原创 2017-08-22 16:46:14 · 440 阅读 · 0 评论 -
QGC中地图
QGCLocationPlugin定义了QGCLocationPlugin.pri文件,这个文件包含QtLocationPlugin文件夹里面的头文件和源文件原创 2017-08-18 18:24:26 · 3091 阅读 · 2 评论 -
MAC上读出usb
原文链接 mac上使用qt平台开发,读串口的话有QSerialPortinfo、QSerialPort 但是mac上没有串口,只有usb口,与串口通信也是通过usb口。使用libusb库一、安装libusb正常源码编译安装即可。二、libusb动态库加入QT项目QT项目中新建文件夹lib。,将/usr/local/lib/libusb-1.0.0.dylib复制到lib/下。 将第一步解压出来原创 2017-08-18 18:40:52 · 1194 阅读 · 0 评论 -
QML
qmlQML文件的后缀是qml,其实是个文本文件。#include "Map.hpp"Map::Map(QObject *parent) : QObject(parent){ mManager = std::make_shared<QNetworkAccessManager>(); mMapProvider = std::make_shared<MapProvider>();原创 2017-08-18 16:29:16 · 474 阅读 · 0 评论 -
QT中知识点
qml应用程序QML 是一种声明式语言,它提供了一组接口来描述可视化组件和他们之间的互动。它是一个高度可读的语言,并且被设计成使组件以一个动态的方式相互连接。同时它使得组件很容易被复用以及创建定制的用户界面。使用QtQuick模块,设计者和开发者可以很容易地使用QML建立带有流畅动画的用户界面,并将这些界面连接到后端C++库上面。QML简介QML是一个用户接口规范和编程语言,它允许开发者和设计者创建原创 2017-08-17 23:38:39 · 536 阅读 · 0 评论 -
QGC瓦片地图
内置的地图QGCLocationPlugin文件夹中 头文件中://QGCMapEngine.hclass QGCTileSet(){public: QGCTileSet(){ clear(); } QGCTileSet &operator+=(QGCTileSet &other){ tileX0+=other.tileX0;原创 2017-08-17 20:49:15 · 2525 阅读 · 1 评论 -
QGCToolbox
QGCTool QGCTool::QGCTool(QGCApplication *app,QGCToolbox *toolbox):QObject(toolbox),_app(app),_toolbox(NULL)QGCToolbox头文件 class FactSystem; ... class SettingsManager;//管理我们顶层所有的service/to原创 2017-08-16 23:22:47 · 538 阅读 · 0 评论 -
QGC
记录学习知识点QGCApplication头文件QGCApplication:public #ifdef __mobile__ QGuiApplication#else QApplication#endif{ Q_OBJECTpublic: QGCApplication(int &argc,char *argv[],bool unitTesting);原创 2017-08-16 00:20:15 · 2121 阅读 · 0 评论 -
Qt中mysql驱动
MAC下,在Qt中,使用mysql导入头文件会,连接还会报错,原因是缺少一个驱动。 打开/Users/edz/Qt/5.6/clang_64/plugins/sqldrivers, otool打开: 发现驱动指向了其他的目录。 网上各种说编译安装的,这里有一个简单方法。 那就是复制一份驱动到其指向的目录下。找到mysql的安装目录,如果是brew安装的,那么应该是/usr/local/原创 2017-07-10 23:28:27 · 511 阅读 · 0 评论 -
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 阅读 · 0 评论 -
QT之窗口
QWidget基础窗口部件QWidget类是所有用户的界面对象的基类,窗口和控件都是直接或间接继承自QWidget。Widget窗口部件(widget)简称部件,是QT中建立界面的主要元素,QT 中把没有嵌入到其他部件的称为窗口。一般窗口都有边框,标题栏,窗口是指程序的整体界面,可以包含标题栏、菜单栏、工具栏、关闭按钮、最大最小化;控件指的是按钮、复选框、文本框、表格、进度条等这些组成程序的基本元原创 2017-08-20 15:34:30 · 438 阅读 · 0 评论 -
mac下卸载Qt5
进入安装目录,如我的安装目录是/Users/edz/Qt5.6. 那么comm+shift+g,进入到该目录,双击MaintanceTool.app进入图形界面,点击卸载即可原创 2017-08-14 21:14:03 · 11713 阅读 · 1 评论 -
Qt Quick学习笔记(六)
第10章CanvasQML中的canvas,俗称画布,它用来定义一个绘图区域,你可以使用ECMAScript代码来绘制直线、矩形、贝塞尔曲线、弧线、图片文字等图元,还可以为图元应用填充颜色和边框颜色,甚至还可以进行低阶像素级操作。Context2Dvar ctx=getContext(“2d”);画笔笔有颜色,是为strokeStyle属性;笔有粗细,是为lineWidth属性。画刷在Context原创 2017-08-21 11:48:32 · 375 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 299 阅读 · 0 评论 -
Qt Quick学习笔记(三)
第五章浏览器对于ECMAScript是宿主环境,但不是唯一的宿主环境,其他非浏览器宿主环境如Flash与Director MX中的ActionScript,以及QML。ECMAScript规定了如下内容:语法类型语句关键字保留字运算符对象ECMAScript仅仅是一个描述,定义了脚本语言所有属性、方法和对象。其他语言可以实现ECMAScript来作为功能的继承,如JavaScript原创 2017-08-20 18:39:51 · 353 阅读 · 0 评论 -
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 · 502 阅读 · 0 评论 -
Qt quick核心编程学习(一)
第三章QML支持ECMAScript表达式 BUtton{ text:"Quit"; style:ButtonStyle{ background:Rectangle{ implicitWidth:70; implicitHeight:25; b原创 2017-08-20 16:35:38 · 1433 阅读 · 0 评论 -
QT中的QML元素
QMLQML实现并且扩展了ECMAScript,是一种说明性语言,用来描述基于Qt对象系统的用户界面。QML提供了高可读、声明式的 、类CSS的语法,支持结合动态属性绑定的ECMAScript表达式。 Qt Quick模块是开发QML应用的标准库,提供了使用QML创建用户界面需要的一切东西,包含可视化类型、交互类型、动画、模型和视图、粒子特效与着色器基本QML元素Item:被其他QML元素继承的基原创 2017-08-20 16:09:45 · 535 阅读 · 0 评论