Qt quick 编程】的更多相关文章

说道QML,不得不先说一下ECMAScript: ECMAScript语言的标准是由Netscape.Sun.微软.Borland等公司基于JavaScript和JScript锤炼.定义出来的. ECMAScript可以为不同种类的宿主环境提供核心的脚本编程能力.ECMAScript仅仅是一个描述,定义了脚本语言的所有属性.方法和对象.它描述了一下内容: 语法 类型 语句 关键字 保留字 运算符 对象 其他语言可以以它为基础拓展出新特性,比如QML引入了Qt对象系统中的信号与槽等特色功能. QM…
说道QML,不得不先说一下ECMAScript: ECMAScript语言的标准是由Netscape.Sun.微软.Borland等公司基于JavaScript和JScript锤炼.定义出来的. ECMAScript可以为不同种类的宿主环境提供核心的脚本编程能力.ECMAScript仅仅是一个描述,定义了脚本语言的所有属性.方法和对象.它描述了一下内容: 语法 类型 语句 关键字 保留字 运算符 对象 其他语言可以以它为基础拓展出新特性,比如QML引入了Qt对象系统中的信号与槽等特色功能. QM…
编程示例 使用Qt创建应用程序是十分简单的.考虑到你的使用习惯,我们编写了两套教程来实现两个相似的应用程序,但是使用了 不同的方法.在开始之前,请确保你已经下载了QtSDK的商业版本或者开源版本,并且你也已经熟悉了Qt的开发工具.QtSDK 提供了QtCreator集成开发环境使得开发Qt的应用程序十分简单. 用户界面的选择 除了直观上知道Qt是跨平台的,提供了包括线程,网络通信以及视频回放和网络摄像头等的跨平台抽象外,Qt提供了两种 独立的方法创建用户界面. QtQuick模块为创建流畅的.活…
greaterThan(QT_MAJOR_VERSION,4):QT += widgets.在Qt 5之前,没有独立的QtWidgets模块,Qt Widgets包含在QtGui模块中. TARGET=HelloWorld TARGET变量用来设定项目的目标文件名,如果不设置,目标文件名会被自动设置为项目文件一样. TEMPLATE=app TEMPLATE变量用来设定项目的构建类型.如果你没有在项目文件中设定这个变量,qmake会默认按应用来构建你的项目. QPushButton *butto…
上一篇<Qt Quick 之 Hello World 图文详解>我们已经分别在电脑和 Android 手机上运行了第一个 Qt Quick 示例—— HelloQtQuickApp ,这篇呢,我们就来介绍 Qt Quick 编程的一些基本概念,为创建复杂的 Qt Quick 应用奠定基础. 版权所有 foruok ,如需转载请注明来自博客 http://blog.csdn.net/foruok . 首先看一下<Qt Quick 之 Hello World 图文详解>中的 main.…
Qt Quick 之 QML 与 C++ 混合编程详解 - CSDN博客   专栏:Qt Quick简明教程 - CSDN博客   .…
Qt Quick 技术的引入.使得你能够高速构建 UI ,具有动画.各种绚丽效果的 UI 都不在话下.但它不是万能的.也有非常多局限性,原来 Qt 的一些技术,比方低阶的网络编程如 QTcpSocket ,多线程,又如 XML 文档处理类库 QXmlStreamReader / QXmlStreamWriter 等等,在 QML 中要么不可用,要么用起来不方便,所以呢,非常多时候我们是会基于这样的原则来混合使用 QML 和 C++: QML 构建界面. C++ 实现非界面的业务逻辑和复杂运算.…
之前一直以为 Qt Quick 里 Canvas 才干够自绘.后来发觉不是,原来还有好几种方式都能够画图! 能够使用原始的 OpenGL(Qt Quick 使用 OpenGL 渲染).能够构造QSGNode 来画图,还能够使用 QPainter !哇. QPainter 我非常熟悉啊.于是,我用 QPainter 结合 QML 实现了一个简单的涂鸦程序: PaintedItem .它有下列功能: 设置线条宽度 设置线条颜色 设置背景颜色 清除涂鸦 无限级undo 程序非常简陋.效果例如以下: w…
使用 Qt Quick 写了个小游戏:疯狂算数.支持 Windows 和 Android 两个平台. 游戏简单,但牵涉到下面你的 Qt Quick 主题: 自己实现一个按钮 自适应分辨率 国际化 QML与C++混合编程 APK图标设置 APK名称汉化 动画 其实所有这些内容,在我的书<Qt Quick核心编程>里都讲到了,感兴趣的朋友可以看我的书. 大概来看一下吧,先看效果. Android 手机运行效果 下面是 Android 应用列表: 看到“疯狂算数”那个应用了吧,图标是我自己画的,名字…
在上一篇文章,<Qt on Android:QML 语言基础>中,我们介绍了 QML 语言的语法,在最后我们遗留了一些问题没有展开,这篇呢,我们就正式開始撰写 Qt Quick 程序,而那些问题,随着本系列文章的展开也会一一被干掉. 在開始介绍 Qt Quick 应用的基本元素之前,我们先来创建一个 HelloQtQuickApp 项目,就是经典的 Hello World 了. 版权全部 foruok,转载请注明出处:http://blog.csdn.net/foruok HelloQtQui…
前面两篇文章<QML 语言基础>和<Qt Quick 简单教程>中我们介绍了 QML 语言的基本的语法和 Qt Quick 的常见元素,亲们,通过这两篇文章,您应该已经能够完毕简单的 Qt Quick 应用了.接下来呢,哈.我们要介绍 Qt Quick 中一个灰常灰常重要的主题:事件处理. 这将是比較长长长长的一篇.哦,不还有兴许好几篇--废话少说,还是谈正事儿吧兄弟姐妹们. 本文是作者 Qt Quick 系列文章中的一篇.其他文章在这里: Qt Quick 简单介绍 QML 语言…
qml(Qt Quick)做界面 来源  https://www.zhihu.com/question/24880681/answer/29324824 本人是Qt初学者,正在写一个会计小软件(Linux桌面版).看了Qt的介绍,觉得用qml(Qt Quick)做界面非常机动快速,但是qml(Qt Quick)处理复杂的业务逻辑就有点力不从心了.不知道能否用qml(Qt Quick)做界面,用C++(Qt)实现业务逻辑?如果可以,大概的思路是怎么样?   --------------------…
Qt Quick + OpenGL + Bullet初次測试 眼下Qt的Quick模块已经表现得很出色,并且可以预留接口来渲染OpenGL场景.一般来说,已经可以满足大部分编程须要了.这次呢.尝试使用结合一些技术,来做一些有趣儿的事情--将Bullet整合进来,并且进行測试. 蒋彩阳原创文章.首发地址:http://blog.csdn.net/gamesdev/article/details/44284317.欢迎同行前来探讨. 有关Bullet的选择,事实上也是有一番讲究的.眼下Bullet的…
Qt Quick中有个StackView.我在<Qt Quick核心编程>一书中没有讲到.近期有人问起,趁机学习了一下,把它的基本使用方法记录下来. 我准备分两次来讲.第一次讲主要的使用方法.包含StackView的适用场景.基本属性和方法的使用方法.第二次讲一些略微复杂点的东西,比方被StackView管理的view的生命周期.delegate定制.查找等. 演示样例会用到动态创建组建,能够參考我之前的文章"Qt Quick 组件与对象动态创建具体解释".也会用到锚布局.…
在<Qt Quick 之 QML 与 C++ 混合编程具体解释>一文中我们解说了 QML 与 C++ 混合编程的方方面面的内容,这次我们通过一个图像处理应用.再来看一下 QML 与 C++ 混合编程的威力,同一时候也为诸君揭开美图秀秀.魔拍之类的相片美化应用的底层原理. 项目的创建过程请參考<Qt Quick 之 Hello World 图文具体解释>,项目名称为 imageProcessor ,创建完毕后须要加入两个文件: imageProcessor.h 和 imageProc…
假设你基于Qt SDK 5.3.1来创建一个Qt Quick App项目,项目模板为你准备的main.qml文档的根元素是ApplicationWindow或Window.这次我们就以ApplicationWindow为例,环绕着它实现一个综合实例:文件查看器. 通过文件查看器的实现.我们来再次领略一下Qt Quick的犀利. 版权全部foruok,转载请注明出处:http://blog.csdn.net/foruok. 本实例将会用到下列特性: ApplicationWindow MenuBa…
PathView ,顾名思义,沿着特定的路径显示 Model 内的数据. Model 能够是 QML 内建的 ListModel . XmlListModel ,也能够是在 C++ 中实现的 QAbstractListModel 的派生类. PathView 恐怕是 Qt Quick 提供的 Model-View 类库中最复杂也最灵活的一个了. 要使用一个 PathView ,至少须要设置 model . delegate . path 三个属性. model . delegate 假设你学习过…
前面两篇文章<QML 语言基础>和<Qt Quick 简单教程>中我们介绍了 QML 语言的基本语法和 Qt Quick 的常见元素,亲们,通过这两篇文章,您应该已经可以完成简单的 Qt Quick 应用了.接下来呢,哈,我们要介绍 Qt Quick 中一个灰常灰常重要的主题:事件处理.这将是比较长长长长的一篇,哦,不还有后续好几篇……废话少说,还是谈正事儿吧兄弟姐妹们. 本文是作者 Qt Quick 系列文章中的一篇,其它文章在这里: Qt Quick 简介 QML 语言基础 Q…
MediaPlayer 是 QML 提供的核心多媒体类,可以播放音频.视频.要使用 MediaPlayer,需要引入 QtMultimedia 模块,在 QML 文档的开始加入 "import QtMultimedia 5.0" 语句.QML 中的 MediaPlayer 是 Qt C++ 中的多媒体框架在 QML 环境中的代言人,假如以 Qt QuickApp 为模板创建项目,你还需要在 pro 文件中加入语句:QT += multimedia. 一.播放音乐 先看最简单的播放音乐的…
一.TabView TabView 可以实现类似 Windows 任务管理器的界面,有人叫 TabView 为标签控件,有人又称之为选项卡控件,我们知道它就是这么个东西就行了.现在来介绍 TabView 的属性和方法. count 属性是只读的,返回 TabView 内的标签页的个数. currentlndex 属性代表当前标签页的索引,从 0 开始,可以读取也可以设置它来切换标签. frameVisible 指示标签页对应的内容周围的边框是否可见.tabVisible 设置标签栏是否可见. t…
一.ComboBox ComboBox,即下拉列表框,由一个列表框和一个标签控件(或编辑控件)组成.ComboBox 的下拉列表是使用 Menu 实现的,列表内的每个条目对应一个 Menultem. 弹出下拉列表框后,用户选择列表中的一个条目,此时 currentlndex.currentText 属性就会变化,同时 activated 信号也会发射. ComboBox 的 find() 方法用于查找列表中是否存在指定的字符串,对于可编辑的 ComboBox,向列表中添加条目时可以使用此方法来滤…
先介绍一下 ExclusiveGroup. ExclusiveGroup (互斥分组)本身是不可见元素,用于将若干个可选择元素组合在一起, 供用户选择其中的一个选项.你可以在 ExclusiveGroup 对象中定义 RadioButton.CheckBox.Action 等元素,此时不需要设置它们的 exclusiveGroup 属性:也可以定义一个只设置了 id 属性的 ExclusiveGroup 对象,在别处定义 RadioButton.CheckBox.Action 等元素时通过 id…
一.Textinput Textinput 用于编辑一行文本,类似于 QLineEdit. font 分组属性允许你设置 Textlnput 元素所用字体的各种属性,包括字体族(family).大 小(pixelSize.pointSize).粗细(bold.weight).斜体(italic).下画线(underline)等. 还有一些属性与 Text 元素一样,如 text 属性可以设置或获取元素的文本,horizontalAlignment 和 verticalAlignment 用于设定…
在 Qt Quick 中有两套与布局管理相关的类库,一套叫作 Item Positioner(定位器),一套叫作 Item Layout(布局). 定位器包括 Row(行定位器).Column(列定位器).Grid(表格定位器).Flow(流式定位器). 布局管理器包括行布局(RowLayout).列布局(ColumnLayout).表格布局(GridLayout). 另外还有一种锚布局,这里我们先介绍这个. 一.锚布局 anchors 提供了一种方式,让你可以通过指定一个元素与其他元素的关系来…
博客24## 一.Components(组件) Component 是由 Qt 框架或开发者封装好的.只暴露了必要接口的 QML 类型,可以重复利用.一个 QML 组件就像一个黑盒子,它通过属性.信号.函数和外部世界交互. 一个 Component 即可以定义在独立的 qml 文件中,也可以嵌入到其它的 qml 文档中来定义.通常我们可以根据这个原则来选择将一个 Component 定义在哪里:如果一个 Component 比较小且只在某个 qml 文档中使用或者一个 Component 从逻辑…
一.鼠标事件 MouseArea 对象可以附加到一个 item 上供 item 处理鼠标事件,它本身是一个不可见的 item .在其内部,可以直接引用它所附着的对象的属性和方法.你可以将 MouseArea 理解为它所附着的 item 的代理. MouseArea 有很多属性, enabled 用来控制是否处理鼠标事件,默认值是 true ,如果你设置为 false ,那么它所代理的 item 就会无视鼠标事件. acceptedButtons 属性设定接收哪些鼠标按键产生的事件(左键.右键.中…
 现有两种启动Qt Quick App 模式: QQmlApplicationEngine搭配Window. QQuickView搭配Item.  qt默认使用第一种方法. QQmlApplicationEngine搭配Window: #include <QGuiApplication> #include <QQmlApplicationEngine> int main(int argc, char *argv[]) { #if defined(Q_OS_WIN) QCoreApp…
http://edu.csdn.net/course/detail/1042/14806?auto_start=1 Qt Quick 4小时入门 第七章:处理鼠标与键盘事件 1.处理鼠标事件 鼠标信号传递一个MouseEvent类型的mouse参数 import QtQuick 2.7 import QtQuick.Controls 2.0 import QtQuick.Layouts 1.0 import QtQuick.Window 2.0 Window { visible: true wi…
http://edu.csdn.net/course/detail/1042/14807?auto_start=1 Qt Quick 4小时入门 第八章:Qt Quick中的锚(anchors)布局 定位器: 当用户调整了界面的尺寸时,定位器不会改变他所包含的元素的大小. Flow与Grid类似,但是他没有显式的行.列数,他会计算子Item的尺寸,按需换行. 布局管理器: 布局管理器会自动调整子Item的尺寸来适应界面尺寸的变化. anchors: 锚布局是一种相对位置布局. import Qt…
http://edu.csdn.net/course/detail/1042/14805?auto_start=1   Qt Quick 4小时入门 第五章:Qt Quick基本界面元素介绍   1.Window:派生自Item: 2.ApplicationWindow:可以有菜单.工具栏等: 3.Item   importQtQuick2.0 importQtQuick.Controls2.0; importQtQuick.Window2.0; Window{ visible:true; wi…