QML 从无到有 (基础)】的更多相关文章

小公司,没办法,什么都得自己亲自来. 服务端是MVC,现在需要可PC客户端和移动APP. 考虑到网页应用有很多界面框架,可以做出很漂亮的界面来,就尝试着使用nwjs来实现,可是在使用了2天的nwjs后,鄙人能力有限,而且文档资料有限,被迫放弃,转而使用Qt来开发,想着反正都不熟悉,就用QML来开发,好在熟悉起来很快,文档也很多,中间很多坑,下面就记录这些过程. 1.子控件可以直接调用父控件的方法 2.ScrollView默认的滚动条太丑,可以通过style: ScrollViewStyle自定义…
新的需求出来啦,需要自动更新功能,不怕程序升级了. 自动更新,QML不好写,需要c++来辅助,这里就涉及QML中调用c++功能(这里就不写了,百度一下,很多). 思路:获取版本>下载程序>安装程序 第一步,获取版本信息,可以通过XMLHttpRequest获取最新版本. 第二步,下载程序,通过Qt c++的QtNetwork: 头文件: #ifndef ZRDOWNLOAD_H #define ZRDOWNLOAD_H #include <QObject> #include <…
随着项目深入,需要移植到安卓上,问题来了,QML安卓适配! 幸好PC端程序和手机屏幕长宽比例相似.虽然单位像素,尺寸不同,通过比例缩放,可以实现组件PC和安卓通用代码. 第一步:定义全局的转换函数(300,500是你的PC端设计尺寸) property var x_scale:mainWindow.width/300 property var y_scale:mainWindow.height/500 function get_x(x) { return x*x_scale; } functio…
在<Qt Quick 简单介绍>中我们提到 QML 语法和 Json 相似,请參考<Qt on Android: http下载与Json解析>查看 Json 语法.当然这里我们是期望从零開始也能学会 QML ,所以呢,你也能够直接往下看. 版权全部 foruok,转载请注明出处:http://blog.csdn.net/foruok 对象 QML 文件的后缀是 qml ,事实上就是个文本文件.以下是 一个简单的 QML 文件: import QtQuick 2.0 import Q…
拖了大半年,今天终于有更新了...我自己都不好意思,最近太忙了! 今天讲一下:QML语法 一 概述 QML是一种专门用于构建用户界面的编程语言,它允许用户构建高性能,具有流畅特效的可视化应用程序,QML是可读的,声明式的文档,具有类似JSON的语法,支持使用JavaScrip表达式,具有动态属性绑定等特性. 二 QML语法基础 QMl的代码一般长如下: import QtQuick 2.2 Rectangle { width: 360 height: 360 MouseArea { anchor…
Qt Quick 技术的引入.使得你能够高速构建 UI ,具有动画.各种绚丽效果的 UI 都不在话下.但它不是万能的.也有非常多局限性,原来 Qt 的一些技术,比方低阶的网络编程如 QTcpSocket ,多线程,又如 XML 文档处理类库 QXmlStreamReader / QXmlStreamWriter 等等,在 QML 中要么不可用,要么用起来不方便,所以呢,非常多时候我们是会基于这样的原则来混合使用 QML 和 C++: QML 构建界面. C++ 实现非界面的业务逻辑和复杂运算.…
  QML入门教程(1) QML是什么? QML是一种描述性的脚本语言,文件格式以.qml结尾.语法格式非常像CSS(参考后文具体例子),但又支持javacript形式的编程控制.它结合了QtDesigner UI和QtScript的优点.QtDesigner可以设计出.ui界面文件,但是不支持和Qt原生C++代码的交互.QtScript可以和Qt原生代码进行交互,但是有一个缺点,如果要在脚本中创建一个继承于QObject的图形对象非常不方便,只能在Qt代码中创建图形对象,然后从 QtScrip…
参考: Qt Quick 准确的移动平台屏幕适配 qt qml 高宽自动适配android设备 QML 从无到有 (移动适配) 思路:以一个平台分辨率为基准(如320*480),考虑其与其它平台的比例因子,根据比例因子自适应调整. 仅供参考,学习笔记. main.qml 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616…
QT5 QSS QML界面美化视频课程系列 QT原理 项目实战 C++1X STL 课程1   C语言程序设计高级实用速成课程 基础+进阶+自学 课程2   C语言程序设计Windows GDI图形绘制编程实用课程 课程3   C语言程序设计实用数据结构实战课程 课程4   C语言程序设计用户界面框架实战课程 课程5   C语言程序设计坦克世界项目实战课程像素版 课程6   C++程序设计C++11/C++14/C++17新特性详解实用 课程7   C++STL标准模板库源码分析课程 课程8  …
之前一直以为 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 语言…
在<Qt Quick 事件处理之信号与槽>中介绍了 QML 中怎样使用内建类型的信号以及怎样自己定义信号,这次我们来看看怎样处理鼠标.键盘.定时器等事件.这些时间在处理时,一般是通过信号来完毕的. 鼠标事件处理 桌面开发的话,难免要处理鼠标事件-- 变色矩形演示样例 看一个简单的处理鼠标事件的样例,先看代码(handle_mouse.qml): import QtQuick 2.0 import QtQuick.Controls 1.1 Rectangle { width: 320; heig…
于 Qt Widgets 于,我们经常使用许多布局管理器来管理界面 widgets . 于 Qt Quick 实际上,有两个相关的管理和布局库,所谓集 Item Positioner ,所谓集 Item Layout . Item Layout 包含 RowLayout . ColumnLayout . GridLayout.与 Qt Widgets 中的布局管理器更相近,只是这里不打算介绍它们.本文的重点是 Item Positioner . Qt Quick 提供这么几种常常使用的 Posi…
在<Qt Quick 事件处理之信号与槽>一文中介绍自己定义信号时,举了一个简单的样例.定义了一个颜色选择组件,当用户在组建内点击鼠标时,该组件会发出一个携带颜色值的信号,当时我使用 Connections 对象连接到组件的 colorPicked 信号,改变文本的颜色. 当时用到的 Component . Loader 两个特性,一直没来得及介绍,可能非常多人都还在雾里看花呢. 这次呢.我们就来仔细致细地把他们讲清楚. 版权全部 foruok ,转载请注明出处:http://blog.csd…
上一篇<Qt Quick 之 Hello World 图文详解>我们已经分别在电脑和 Android 手机上运行了第一个 Qt Quick 示例—— HelloQtQuickApp ,这篇呢,我们就来介绍 Qt Quick 编程的一些基本概念,为创建复杂的 Qt Quick 应用奠定基础. 版权所有 foruok ,如需转载请注明来自博客 http://blog.csdn.net/foruok . 首先看一下<Qt Quick 之 Hello World 图文详解>中的 main.…
拖了大半年,今天终于有更新了...我自己都不好意思,最近太忙了! 今天讲一下:QML语法 一 概述 QML是一种专门用于构建用户界面的编程语言,它允许用户构建高性能,具有流畅特效的可视化应用程序,QML是可读的,声明式的文档,具有类似JSON的语法,支持使用JavaScrip表达式,具有动态属性绑定等特性. 二 QML语法基础 QMl的代码一般长如下: import QtQuick 2.2 Rectangle { width: 360 height: 360 MouseArea { anchor…
windows下安装配置PyQt5 目录 为什么要学习QT 命令行安装PyQt5以及PyQt5-tools 配置QtDesigner.PyUIC及PyRcc 为什么要学习QT python下与界面开发相关的库 Tkinter python内嵌的GUI环境,使用TCL实现,python IDIE由Tkinter实现 历史悠久,perl中有对应的perlTK.Python 标准安装包中包含TKinter,易学易用,方便创建简单GUI. 跨平台 布局全靠代码实现,15种常用部件,效果简陋,不推荐 Wx…
https://blog.csdn.net/liang19890820/article/details/51752029 简述 发福利了.发福利了.发福利了,重要的事情说三遍... 为了方便更多Qter了解.学习Qt,现将相关资源进行整理,主要内容包括:Qt官网.编码风格.GitHub & Third-Party.社区论坛.博客.书籍等. 满满的都是干货,独乐乐不如众乐乐... | 版权声明:一去.二三里,未经博主允许不得转载. Qt官网 Qt官网:https://www.qt.io Qt下载:…
Qt官网 Qt官网:https://www.qt.io Qt下载:http://www.qt.io/download Qt所有下载:http://download.qt.io/archive/qt Qt官方发布下载:http://download.qt.io/official_releases/qt Open Source下载:http://www.qt.io/download-open-source/#section-2 Qt WiKi:https://wiki.qt.io/Main_Page…
在<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…
简述 发福利了.发福利了.发福利了,重要的事情说三遍... 为了方便更多Qter了解.学习Qt,现将相关资源进行整理,主要内容包括:Qt官网.编码风格.GitHub & Third-Party.社区论坛.博客.书籍等. 满满的都是干货,独乐乐不如众乐乐... 简述 Qt官网 编码风格 GitHub Third-Party 社区论坛 博客 书籍 更多 Qt官网 Qt官网:https://www.qt.io Qt下载:http://www.qt.io/download Qt所有下载:http://d…
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…
一.画布元素 自qt4.7发布qml以来,qml也在一直不断的完善中,在qt4时代使用qml时如果需要异形图,那我们只能让设计师来切图,这样的感觉是很不爽的,总感觉开发没有那么犀利.但是到了qt5这一点有所改变,qt引入了canvas画图,我们可以在程序中自定义一个画布来绘制自己想要的图形,然后达到我们自己想要的效果. 二.效果预览 图1 canvas画布 三.源码分析 代码量都是算法,这个我就不解释了(主要是看不懂),控件中就包含了一个Canvas画布,然后在画布的onPaint函数中绘制图形…
一.理解qml模型和视图 qt的发展是迅速的,虽然在每一个release版本中或多或少都有bug,但是作为一个庞大的gui库,no,应该说是一个开发框架开说,qt已经算是做的相当好.qml部分是qt4.7的时候推出的,当时qml只是为了移动端而设计的开发语言,随着it行业的发展,桌面端也产生了一定的需求,这就使得qml也必须支持桌面端的开发.使用qml可以做出绚丽的界面,并把逻辑和界面展示分开,qml和C++就好比html和JavaScript. qt中有大量的model/view类,视图类:Q…
一.概括 学习qt已有2年多的时间,从qt4.7开始使用直到现在正在使用的qt5.6,基本都在windows机器上做开发.最近有意向看了下qt的qml部分,觉着还是挺不错的,毕竟可以做嵌入式移动端产品的部分,还是值的一学.后来在网上看了一些资料,算是初步了解了下qml,所以想就自己学习的过程做以记录,也方便自己理解,如果你有机会看到这篇文章,那么我认为你也是来学习qml的,如果你已经是一个有很强qml开发经验的老手,那么这篇文章和接下来的qml学习系列的文章你都不用看下去了,呵呵... 关于qm…
搭建项目框架 新建项目 执行如下代码,用create-react-app来建立项目的基础框架,然后安装需要用到的依赖. $ npx create-react-app my-test-project $ cd my-test-project $ yarn add react-router-dom react-redux prop-types redux redux-saga $ yarn start 完成后,应用启动在localhost的3000端口. 接入react-router-dom rea…