前言:

QML是一种描述性的脚本语言,文件格式以.qml结尾。语法格式非常像CSS(参考后文具体例子),但又支持javascript形式的编程控制。我个人认为它结合了QtDesigner UI和QtScript的优点。QtDesigner可以设计出·ui界面文件,但是不支持和Qt原生C++代码的交互。不过也没关系,本身MVC分离了最好。

QtScript可以和Qt原生代码进行交互,但是有一个缺点,如果要在脚本中创建一个继承于QObject的图形对象非常不方便,只能在Qt代码中创建图形对象,然后从QtScript中进行访问。而QML可以在脚本里创建图形对象,并且支持各种图形特效,以及状态机等,同时又能跟Qt写的C++代码进行方便的交互,使用起来非常方便。

一般使用C++编写计算密集型模块,作为object插件的形式被QML使用,再使用JavaScript编写逻辑模块,做到模块分离。

移植QtSameGame:

QtSameGame在Qt5-Sample帮助页。

QtSameGame在Qt5-Sample里面不是单独的工程创立的,不能原班移植。参考这篇文章:一步一步学Qt(Qt Quick)/qml 开发第五篇,建立一个基于Qt Quick Controls1.2 的工程。不能基于QML,不知道为何。

  依照 参考文章里面的指示添加Content里面的文件,修改:

    ApplicationWindow {//Rectangle {

可以编译运行。

但是失去了state属性,又一次修改为

    //ApplicationWindow {Rectangle {

程序可以正常运行

可能性错误:During sturtup program exited with code 0xc0000139

解决方案:分清MinGW的DLL文件和Qt5里面的Dll文件;

若使用了第三方库,用所使用的QT版本重新编译一次,如qwt这样的第三方的库;

注意:

将QML和其中的图片放入资源中,这里引用QML的时候需要以qrc开头,否则访问不到图片文件.

资源添加过程中在哪个位置加入是个问题.

争议之处:

    import "content/samegame.js" as Logic

使用JS作为控制系统效率问题?逻辑与计算分离。

参考文章:

Rectangle     属性列表页

ApplicationWindow属性页

QML官方系列教程——Using the Qt Quick Particle System使用粒子系统

QML官方系列教程——Scalability 使用ApplicationWindow:适配不同分辨率设备。

Qt官方教程系列,此系列翻译得较为详细,非常值得参考: Qt官方教程系列

Qt Quick新特性概览:最明显的就是新的QtQuick.Controls模块的引入

此文章介绍了:在窗口部件中嵌入Qt Quick

最终我们为在一个现有的基于窗口部件的应用程序中包含一个Qt Quick 2场景添加了支持。这是通过使用新的QWidget::createWindowContainer()函数来嵌入一个QQuickWindow的。

QML范例详解:使用JS编写控制系统,使用C++进行计算。

Rectangle详细解释

移植开源QT软件-SameGame相关推荐

  1. 嵌入式linux系统移植的四大步骤_如何移植开源软件到嵌入式Linux系统

    我们知道,在PC机Linux上,安装开源软件,一般来讲,大多是如下几个步骤就搞定了. tar -xzf  open_source_software.tar.gz cd       open_sourc ...

  2. linux 开源笔记软件下载,基于 Qt 的开源笔记软件 VNote 1.11.1 小更新发布

    新年伊始,VNote发布小更新v1.11.1.顾名思义,这次更新将会很"小",主要是修复已知问题.当然,这次更新也有值得大家浪费带宽下载的地方: 1. 更好的中文支持 这一次基本所 ...

  3. 基于 Qt 框架的开源笔记软件 VNote

    关注.星标公众号,直达精彩内容 来源:OSC开源社区 作者:tamlok VNote是一个受Vim启发开发的专门为Markdown而优化.设计的笔记软件. 授权协议:MIT 开发语言:C/C++ Ja ...

  4. Qt软件下载地址(开源,免费下载,解决方案)

    Qt软件各个版本下载(从1到5系列) 包括64位,32位,单独使用版本mingw,和VS结合使用版本msvc,区别在于使用的编译器不一样. msvc是指微软的VC编译器,MinGW是指是Minimal ...

  5. QT学习笔记(三):Qt软件打包发布(QT5.8 _msvc2013_64+Win10_64)

    QT学习笔记(三):Qt软件打包发布(QT5.8 _msvc2013_64+Win10_64) 1.编译方式介绍: 2.动态编译方式打包发布QT程序: 方法一:手动复制 方法二:使用工具 问题& ...

  6. 我开源的软件只能我拿来赚钱

    文 | 一君 出品 | OSC开源社区(ID:oschina2013) 贵司为 MySQL 掏过钱吗?或者说,你使用的是 MySQL Enterprise Edition 类的产品还是 MySQL C ...

  7. 开源GIS软件初探(转载)

    到GIS软件,首先让我们想到的便是GIS界的龙头大哥ESRI公司旗下的ArcGIS产品,从最初接触的version 9.2到如今的version 10.1,其发展可谓风生水起.MapInfo软件也不错 ...

  8. 这13个开源GIS软件,你了解几个?【转】

    泰伯网有看点的空间地理信息资讯都在这,你还在等什么? 这些开源GIS软件,你了解几个?本文内容部分来源于一份罗列了关于GIS软件应用的文章,笔者将其编译整合. 地理信息系统(Geographic In ...

  9. 开源ETL软件在智能化集成系统中的应用

    来源:http://www.qianjia.com/html/2009-03/57084.html 摘要:提出了在智能化集成系统中通过开源ETL软件Kettle对数据库类型的子系统进行信息采集的方案, ...

最新文章

  1. spring外部化配置
  2. 别怕,BCH无惧攻击
  3. 何恺明最新工作:简单实用的自监督学习方案MAE,ImageNet-1K 87.8%
  4. 在64位系统上注册并使用32位的COM组件
  5. 微机原理与接口技术(第2版)考点
  6. C++学习笔记之对文件的操作1
  7. 牛客网SQL篇刷题篇(3-10)
  8. bootstrap 模态窗口按钮位置_Bootstrap 模态框(Modal)插件的使用
  9. 理解Docker(1):Docker 安装和基础用法
  10. python读取文本数据--完善中
  11. HTTP API 设计指南
  12. foo bar foobar?
  13. 2018杭州云栖大会,梁胜博士的演讲PPT来啦! 1
  14. 【数据结构】树与二叉树的基本概念及性质
  15. 我的世界服务器物品不丢弃,《我的世界》怎样处理没用的物品,这六个销毁物品方法了解一下!...
  16. EasyExcel第一次导出文件耗时长的问题
  17. 烤仔星选·NFT实验室 | 非同质化代币在游戏领域的应用
  18. 爬取豆瓣排行榜电影数据
  19. 2022-2028全球与中国轨道检查车辆市场现状及未来发展趋势
  20. 汽车传动轴的优化设计matlab,传动轴的优化设计

热门文章

  1. DataBinding基础使用二
  2. python全栈开发学习 01
  3. hive2solr问题小结
  4. VisNetic MailServer 常见问题
  5. 微信公众号消息模板开发
  6. 【web开发学习笔记】Structs2 Action学习笔记(一个)
  7. wordpress 伪静态
  8. 小程序云开发使用where查询遇到的问题
  9. jvm中的年轻代 老年代 持久代 gc ----------转载
  10. 结对-贪吃蛇-测试过程