2 个回答
-
| 2017-08-11 13:41:54 广告
1. Qt SDK现在最新版本为5.4,按照官方说法,其LGPL协议下,提供以下目标平台的二进制开发包:
- Windows Desktop x86/64
- Windows Store App
- Windows Phone 8.1
- Android arm5/7
- Android x86
- MacOS
- iOS
如果在GPL协议下或者之前老版本的Qt,可以支持塞班、黑莓、各种嵌入式开发板等平台。Qt支持的目标平台肯定还是比VS2015多的。
2. Qt不仅仅是一个c++界面库,它在实现了一套基于C++的反射功能的基础上,包含了网络、数据库、多媒体、测试框架、国际化工具、部署模块等,甚至还自己封装了一个WebKit模块。此外,Qt有收费才能使用的模块:
- Qt Purchasing
- Qt Charts
- Qt Virtual Keyboard
- Qt Data Visualization
现在,除了这些传统客户端开发工具以外,Qt也推出了云服务QtCloudServices。这方面我去年写过一篇博客《Qt云服务/云计算平台QTC(Qt Cloud Services)入门(0)—— Introduction》,当然现在可能有变化。
3. 由于平台众多,Qt传统的基于QWidget界面在适配各种不同DPI的屏幕时,设计风格、控件及字体、图标大小等方面是会存在问题的,Qt5.4版本开始,官方宣称解决了DPI的问题:
High-DPI support for Windows and OS X
当然Qt5.4版本以前(包括现在),Qt官方希望大家使用QtQuick(QML,一种基于JavaScript的语言。c++与QML的关系,有点像C#与WPF一样)来解决触屏和DPI的问题,使用QML开发的话,在各个目标平台显示效果都是一样的,并且能够很方便的与C++代码交互。当然,与.Net的WPF比起来,还差很远,但毕竟跨的平台比WPF多。Qt官方有一个用来显示股市信息的QML Demo(http://doc.qt.io/qt-5/qtquick-demos-stocqt-example.html),在Win8、Android、WP上面显示效果都非常好。
4. QtCreator这个IDE与Qt配合起来非常完美,在VS里面使用Qt总感觉怪怪的。如果不使用Qt,由于C++语法过于复杂,VS这种宇宙级的IDE也不能像c#那样来IntelliSenseC++,但无论如何还是要强于Qt Creator的。
5. VS2015中C++的跨平台,肯定不会是一次编写处处运行(除非写的是标准C++)。如果带有界面(Win的MFC、WTL,Linux的X11)、或者有用到POSIX、WIN API,怎么可能不修改代码直接跨平台?而Qt有自己的一套GUI、Networks等框架,如果严格使用Qt SDK的标准来开发,完全可以不修改代码,在各个平台编译就行。
本问答由韦易笑提供
-
| 2017-08-11 12:53:45 广告
谢谢邀请我的两个同学。其实我觉得这两个没有必要放在一起,我觉得这本就不是一个概念的东西,Qt说到底就是一个跨平台应用和UI开发的框架,而Visual Studio 2015是一个IDE。而C++跨平台,只要你不用平台特有的一些东西,如Windows API,那么也是很容易理解的,毕竟我以前就见过在Visual Studio写C++代码,然后放在Linux下跑的。
而这里的Visual Studio跨平台特性,如Android,Visual Studio也是利用了Android的Native Activity等。而值得关注的是Visual Studio 2015说可以生成Linux应用程序,我顿时脑洞大开,腹黑的瞎想,难道是调用Clang去生成?毕竟Clang本身的BSD License太友好。本问答由韦易笑提供
更多
- 开店宝pos机全国客服服务售后热线号码
- 48
- 3
- 汇付天下pos机24小时在线客服是什么?
- 81
- 3
- 盛刷pos机售后客服热线是多少?
- 97
- 3
- 汇付天下pos机24小时在线客服电话
- 56
- 3
- 闪电宝pos机全国24小时服务热线号码
- 37
- 3
- 速刷pos机24小时400客服电话是多少?
- 74
- 3
- 闪电宝pos机24小时400客服电话是多少?
- 61
- 3
- 闪电宝pos机24小时在线客服是什么?
- 22
- 3
- 速刷pos机客服电话24小时客服电话
- 8
- 3
- 速刷pos机客服电话24小时客服电话
- 58
- 3