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_ ...
随机推荐
- 关于ios的手势识别(GestureRecognizers)讲解
大家都知道,苹果的设备,不管是mac机器还是iPhone或iad,都支持多点触控,进而延伸了多种手势识别的功能.这为用户带来了很大的便携性和多样灵活性,极大的方便了用户的使用.足以见手势识别(Gest ...
- [xUnit]尝试单元测试
参考: http://xunit.github.io/ http://shouldly.readthedocs.org/en/latest/ 创建测试项目工程,类型选择类库,在NuGet中搜索xuni ...
- Java JDK1.5、1.6、1.7新特性整理(转)
原文链接:http://www.cnblogs.com/tony-yang-flutter/p/3503935.html 一.Java JDK1.5的新特性 1.泛型: List<String& ...
- 02_HttpClient_Get请求
[实例1. GET请求百度(乱码)] /** * Http GET请求百度,但是返回乱码 */ public static void main(String[] args) throws Except ...
- [GeekBand] C++学习笔记(2)——BigThree、OOP
本篇笔记主要分为三个部分,第一部分是以String类为例的基于对象的编程,重点在于构造与析构.拷贝构造函数.拷贝赋值函数三个重要函数.这一部分与笔记(1)中的内容结合起来就是基于对象编程的主要内容.第 ...
- 在linux环境下配置node:node + npm + forever
我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3574582.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验 ...
- OpenJudge/Poj 1753 Flip Game
1.链接地址: http://bailian.openjudge.cn/practice/1753/ http://poj.org/problem?id=1753 2.题目: 总时间限制: 1000m ...
- ssh: connect to host xxx.xxx.xxx.xxx port 22: Connection refused
工具/原料:Ubuntu 在采用scp在不同机器之间进行文件拷贝时出现标题所示的错误,原因可能是: 1.sshd 未启动 2.sshd 未安装 3.防火墙 4需重新启动ssh 服务 查看sshd进程方 ...
- mysql show processlist 显示mysql查询进程
1.进入mysql/bin目录下输入mysqladmin processlist; 2.启动mysql,输入show processlist; 如果有 SUPER 权限,则可以看到全部的线程,否则,只 ...
- DataGridView实现分页
using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; u ...