移植开源QT软件-SameGame
前言:
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相关推荐
- 嵌入式linux系统移植的四大步骤_如何移植开源软件到嵌入式Linux系统
我们知道,在PC机Linux上,安装开源软件,一般来讲,大多是如下几个步骤就搞定了. tar -xzf open_source_software.tar.gz cd open_sourc ...
- linux 开源笔记软件下载,基于 Qt 的开源笔记软件 VNote 1.11.1 小更新发布
新年伊始,VNote发布小更新v1.11.1.顾名思义,这次更新将会很"小",主要是修复已知问题.当然,这次更新也有值得大家浪费带宽下载的地方: 1. 更好的中文支持 这一次基本所 ...
- 基于 Qt 框架的开源笔记软件 VNote
关注.星标公众号,直达精彩内容 来源:OSC开源社区 作者:tamlok VNote是一个受Vim启发开发的专门为Markdown而优化.设计的笔记软件. 授权协议:MIT 开发语言:C/C++ Ja ...
- Qt软件下载地址(开源,免费下载,解决方案)
Qt软件各个版本下载(从1到5系列) 包括64位,32位,单独使用版本mingw,和VS结合使用版本msvc,区别在于使用的编译器不一样. msvc是指微软的VC编译器,MinGW是指是Minimal ...
- QT学习笔记(三):Qt软件打包发布(QT5.8 _msvc2013_64+Win10_64)
QT学习笔记(三):Qt软件打包发布(QT5.8 _msvc2013_64+Win10_64) 1.编译方式介绍: 2.动态编译方式打包发布QT程序: 方法一:手动复制 方法二:使用工具 问题& ...
- 我开源的软件只能我拿来赚钱
文 | 一君 出品 | OSC开源社区(ID:oschina2013) 贵司为 MySQL 掏过钱吗?或者说,你使用的是 MySQL Enterprise Edition 类的产品还是 MySQL C ...
- 开源GIS软件初探(转载)
到GIS软件,首先让我们想到的便是GIS界的龙头大哥ESRI公司旗下的ArcGIS产品,从最初接触的version 9.2到如今的version 10.1,其发展可谓风生水起.MapInfo软件也不错 ...
- 这13个开源GIS软件,你了解几个?【转】
泰伯网有看点的空间地理信息资讯都在这,你还在等什么? 这些开源GIS软件,你了解几个?本文内容部分来源于一份罗列了关于GIS软件应用的文章,笔者将其编译整合. 地理信息系统(Geographic In ...
- 开源ETL软件在智能化集成系统中的应用
来源:http://www.qianjia.com/html/2009-03/57084.html 摘要:提出了在智能化集成系统中通过开源ETL软件Kettle对数据库类型的子系统进行信息采集的方案, ...
最新文章
- spring外部化配置
- 别怕,BCH无惧攻击
- 何恺明最新工作:简单实用的自监督学习方案MAE,ImageNet-1K 87.8%
- 在64位系统上注册并使用32位的COM组件
- 微机原理与接口技术(第2版)考点
- C++学习笔记之对文件的操作1
- 牛客网SQL篇刷题篇(3-10)
- bootstrap 模态窗口按钮位置_Bootstrap 模态框(Modal)插件的使用
- 理解Docker(1):Docker 安装和基础用法
- python读取文本数据--完善中
- HTTP API 设计指南
- foo bar foobar?
- 2018杭州云栖大会,梁胜博士的演讲PPT来啦! 1
- 【数据结构】树与二叉树的基本概念及性质
- 我的世界服务器物品不丢弃,《我的世界》怎样处理没用的物品,这六个销毁物品方法了解一下!...
- EasyExcel第一次导出文件耗时长的问题
- 烤仔星选·NFT实验室 | 非同质化代币在游戏领域的应用
- 爬取豆瓣排行榜电影数据
- 2022-2028全球与中国轨道检查车辆市场现状及未来发展趋势
- 汽车传动轴的优化设计matlab,传动轴的优化设计