QT带OpenGL与不带的区别,QT5是一个伟大的框架,短时期内根本不会有替代者

时间:2022-12-27 18:10:21

你好 , 我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/ 这篇文章。