QT带OpenGL与不带的区别,QT5是一个伟大的框架,短时期内根本不会有替代者
你好 , 我Qt的初学者 , 我在官网下载Qt时感觉很迷茫 , 不知道要下载哪个, 麻烦你写他们之间的不同点:
Qt 5.2.0 for Windows 32-bit (MinGW 4.8, OpenGL, 689 MB)
Qt 5.2.0 for Windows 32-bit (VS 2010, 570 MB) 、
Qt 5.2.0 for Windows 32-bit (VS 2010, OpenGL, 569 MB)、
Qt 5.2.0 for Windows 32-bit (VS 2012, 579 MB)
这四个首先是编译器的区别:第一个是MinGW;第二、三个是VS2010;第四个是VS2012。标记有OpenGL的含义是使用OpenGL后端;否则的话使用ANGLE后端。ANGLE是Google发起的一个开源项目,旨在将OpenGL ES 2.0 API映射到DirectX 9 API。如果你的应用程序使用了不包含在OpenGL ES中的OpenGL API;或者需要运行在Windows XP平台,那么需要选择OpenGL版本(读书笔记:意思是说OpenGL版本是全版本,自带所有API);否则的话,如果不想要求用户安装最新的显卡驱动,需要使用QtMultimedia模块的回放功能,就要选择ANGLE版本(读书笔记:好像是说使用Windows本地API会更优秀)。
目前移动端的体验个人认为并不好,Android 方面不是很了解,但是 iOS 的表现并不非常理想,主要原因在于 Qt 在 iOS 的控件表现并不是 iOS 原生样式,而是类似 win32 那种样式,这样与平台不一致的表现是不会通过 App Store 的审核的(当然,你可以自己实现样式,或是其它方案,但这样的工作量无疑很大)。目前还不了解是否有体验很好、具备实际应用价值的 app。至于桌面,Qt 的表现应该还不错,比起 gtk 和 wxWidgets 这类纯社区驱动的库,Qt 的商业支持也会加不少分。移动端跨平台,现阶段不妨考虑下 PhoneGap 之类的,可能会有更好的表现。不过按照 Qt 现在的发展势头,有可能会在未来时间做到更好的支持。
真不是吹捧……但我无以言表我对阁下的赞许。QT5是一个伟大的框架,底层的兼容和抽象封装一定相当困难,这就注定了短时期内根本不会有替代者,java的ui毫无体验性,cairo等等只是绘制没有toolkit,opengl只是规定。完整的跨平台甚至可以跨上移动端的gui框架,如今只有qt,在商业市场是遇到重重障碍,但终究这货携带着次世代的标准算是产出来了。这个系列是qt中文圈(尤其是qt5亦即尤指cutting edge性)是绝无仅有的,所以多谢了。
参考:http://www.devbean.net/2012/08/qt-study-road-2-intro/
--------------------------------------------------------------------------
我在Qt中有一个项目,包含了3个子项目,其中有两个子项目是app,一个是lib库,能不能将所有的qrc资源放入lib库中,然后在两个app中调用资源呢。如果可以的话是怎么实现的呢?主要是因为两个app需要用到公用的qrc文件中的样式表文件方便统一UI。
如果没有理解错误的话,应该是可以的。做法是,将整个 app 的 pro 文件的 TEMPLATE 设置为 subdirs,CONFIG += orders,SUBDIRS 按照需要的编译顺序添加:lib、app1、app2。然后在 app1 和 app2 的 pro 文件中加入 LIBS += ../lib (注意按需修改路径) 即可。可以参考下 Qt Creator 的源代码设计,以及http://www.devbean.net/2012/01/a-qt-pro-design-method/ 这篇文章。
QT带OpenGL与不带的区别,QT5是一个伟大的框架,短时期内根本不会有替代者的更多相关文章
- C++中#include包含头文件带 .h 和不带 .h 的区别
C++中#include包含头文件带 .h 和不带 .h 的区别? 如 #include <iostream> 和 #include <iostream.h> 包含的东西有哪些 ...
- python web开发-flask中的url带斜线和不带斜线区别详解
通过flask进行路由配置的时候,有一个细节,就是同样的url,带上"/"和不带"/"有什么区别. 举例说明: 比如有个url,名字为"/url&qu ...
- [js]js中变量带var和不带var的区别
上图已说的很清晰了. 下面代码是赘述 <script> //带var和不带var的区别: // 1.只有带var的才可以预解释,所以在赋值的前操作不会报错. console.log(num ...
- setInterval()第一个参数带引号和不带引号的区别
setInterval()第一个参数带引号和不带引号的区别:关于定时函数setInterval()的基本用法这里就不做介绍了,查阅相关教程即可,这里主要介绍一下setInterval()函数的第一个参 ...
- Qt官方对OpenSSL的编译方法的描述,单独下载的Qt library则一般不带SSL(包括QT FAQ)
https://wiki.qt.io/MSYS2http://wiki.qt.io/Compiling_OpenSSL_with_MinGWhttps://wiki.qt.io/MinGW-64-bi ...
- Python调用函数带括号和不带括号的区别
1.不带括号时,调用的是这个函数本身 ,是整个函数体,是一个函数对象,不需等该函数执行完成 2.带括号(此时必须传入需要的参数),调用的是函数的return结果,需要等待函数执行完成的结果 如果函数本 ...
- Qt 实现文字输入框,带字数限制
Qt 实现文字输入框,带字数限制 核心构思 核心的点在于,限制输入的字数:主要的方法为创建一个组合窗口 textChanged 这个信号,会在你输入字符之后发射,可以连接这个信号,在发射了信号之后,去 ...
- js中new函数后带括号和不带括号的区别
用new创建构造函数的实例时,通常情况下new 的构造函数后面需要带括号(譬如:new Parent()). 有些情况下new的构造函数后带括号和不带括号的情况一致,譬如: function Pare ...
- VS QT 配置OpenGL
在visual studio 下编译OpenGL代码出现以下错误,原因是vs没有自带opengl库,需要自己引入 无法解析的外部符号 __imp__glClear@4 无法解析的外部符号 __imp_ ...
随机推荐
- Android调用系统相机以及自定义相机
0.综述 自定义相机,此处展示简单的相机功能,官方文档中还有相应关于视频拍摄的内容,此处不提 1.添加权限 <!--相机权限,数据存储--> <uses-permission and ...
- oracle-替换 换行符和空格符
--换行或空格: )), '') --换行及空格: update tableName set columnName= ), ), '')
- TLF相关资料
1\(转)http://blog.csdn.net/hu36978/article/details/5796165 TFL 一般先创建TextFlow 通过控制flowComposer属性来控制文本 ...
- 初学java,遇到的陌生词语(1)
字节码文件:不包含硬件信息,完全与硬件平台无关,因此,无法直接由操作系统来运行. Java应用程序的执行过程:代码装入.代码检验.代码执行. 1.代码装入:由类装配器完成,装入程序运行时所需的所有源代 ...
- OpenJudge 2754 八皇后
1.链接地址: http://bailian.openjudge.cn/practice/2754 2.题目: 总时间限制: 1000ms 内存限制: 65536kB 描述 会下国际象棋的人都很清楚: ...
- php configure help
`configure' configures this package to adapt to many kinds of systems. Usage: ./configure [OPTION].. ...
- mouseover与mouseenter与mousemove的区别mouseout与mouseleave的区别
<html> <head> <title></title> </head> <body> <p> 当鼠标进入div1 ...
- .NET平台开源项目速览-最快的对象映射组件Tiny Mapper之项目实践
心情小札:近期换了工作,苦逼于22:00后下班,房间一篇狼藉~ 小翠鄙视到:"你就适合生活在垃圾堆中!!!" 晚上浏览博客园 看到一篇非常实用的博客:.NET平台开源项目速览(14 ...
- MongoDB入门三步曲1--安装、基本操作
mongodb 基本操作 目录 mongodb安装 mongod启动 mongo shell启动 mongod 停止 mongodb基本操作:CRUD 数据插入 数据查询 数据更新 数据删除 集合删除 ...
- mysql中的load命令使用方法
使用mysql 中的load 命令,可以将txt 文件中的内容加载到数据库表中 使用mysql 中的load 命令,讲txt 文件中的内容加载到数据库表中,例如,创建table,名称是user,一个字 ...