Qt一开始是由奇趣公司开发的,后来被Nokia收购了,然后再被Digia收购了。所以有的人会误以为Qt就是为了塞班系统而生,是个落伍的产物。
但是很多嵌入式软件、桌面工具都是用Qt来开发的,包括Quartus和Cadence也有用到Qt。
诚然,Qt也是类似于C#、JAVA那样,专门用来开发图形界面的,那么Qt有哪些特别的地方呢?以下,一一介绍。
1、Qt能在哪些平台使用?
把Linux移植到ARM上,也是能跑Qt开发出来的软件的。
2、Qt是开源的,还是收费的?
是开源的,需要遵循LGPL、GPL协议。
3、Qt是使用什么语言开发的?
建议底层用C++做业务逻辑,上层用QML做图形界面。也可以纯C++开发,但是做界面时会比较累。
4、什么是Qt Quick,什么是QML,两者有什么关系?
Qt Quick只是一种技术名称,它本身不指代任何语言,但是,当别人说到Qt Quick一般是指用QML快速开发图形界面。
QML是一种类似于CSS和JAVA Script的混合语言,语法非常简单易学,适合没什么编程经验的人。
Qt Creator是Qt官方的IDE,专门用Qt框架开发图形界面的。
目前比较流行的是Visual Studio,简称VS。Qt Creator一安装好就能使用,但是VS是需要自己设置才可以用。
有,叫Fake Vim,按照下图设置即可。
8、新手入门应该学哪个版本的Qt?
应该学最新的Qt5,推荐教材《Qt Creator快速入门》、《Qt Quick核心编程》,以及官方自带的英文文档。
9、哪里能找到Qt的官方文档?
有某些方法,文档上并没有写,但是实际上是存在的。这时需要利用代码补全。
pyQt是指用python脚本语言来调用Qt框架,从而快速开发图形界面。但是商业使用pyQt,是要收费的。
目前只有一本关于pyQt4的书——《PyQt编程指南》,但是现在最新的是pyQt5。
11、我现在只学习C、C++语法,不做图形界面,可以使用Qt Creator编译、运行代码吗?
可以。Qt Creator自带MinGW编译器可以编译C、C++。但不是所有从Qt官网下载的安装包,都带有MinGW编译器,下载时需特别注意。
新建工程时,使用以下工程模板即可。
12、如何使用Qt开发3D图形界面?
因为Qt默认使用动态编译,所以编译出来体积超大。可以使用UPX压缩壳。
14、怎样使用Qt静态编译代码?
Qt4一行代码,即可全局支持中文,Qt5默认支持中文。
Qt4不支持串口,需要使用第三方的串口库,Qt5支持串口。
此外,Qt4和Qt5还有很多区别,这里不一一列举。
21、有哪些好用的Qt第三方库?
第三方库,不是Qt官方开发的,而是由其它组织开发的。
比较出名的是QWT库,使用QWT库,可以轻松搞定各种图形界面,如:饼状图、示波器图、波特图等。
QWT已经很久不更新了,所以,有的人会使用qcustomplot,它也是一个画图的第三方库。
22、哪里可以在线浏览Qt的类?
23、哪里可以在线浏览Qml的类型?
24、怎样读取USB设备的信息?
25、哪些版本的QT可以支持XP系统?
Qt5.7.0及之前的版本都可以支持XP。Qt5.7.0可以直接支持XP,但是有可能会弹出警告。
26、如何设置全局快捷键、获取全局鼠标坐标?
27、如何设置窗口快捷键,应用程序快捷键?
但是QShortCut和ShortCut,只在窗口或应用程序在focus时,才能使用快捷键,并非全局快捷键。
28、如何显示系统托盘?
29、Qt的动态编译文件太多,如何打包成一个文件?
使用NSIS制作成安装包。
使用第14点的静态编译。
30、C++有哪些第三方库?
除了C++自带的库(如STL库)以外的,还有第三方库。
较为出名的是Boost库,推荐《Boost程序库完全开发指南》。
31、如何让Qt运行单一实例进程?
32、如何实现命令行程序?