Q1:QT不支持C++11特性怎么办呢?
A1:在.pro文件中加入一行
CONFIG += C++11
和Dev的-std=c++11不同,Dev中的这个c要小写,而QT中的这个C要大写。
Q2:QT中建立带界面的程序,和黑窗程序分别应该选哪个呢?
A2:如图所示:
Qt Widgets Application是带有可视化窗体界面的应用
Qt Console Application是控制台的黑窗应用
Q3:Qt调试报错:warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < input.size(); i++)
^
这是为什么,怎样解决呢?
A3:i是signed,input.size()是unsigned,因此使用int()对input.size()强制类型转换,就可以了。
故应改写为 for (int i = 0; i < int(input.size()); i++) {
Q4:Qt调试运行控制台应用程序时cout<<"中文字符串"; 结果控制台输出一堆乱码,怎么办呢?
A4:Qt默认是utf-8,而system控制台可能默认是GBK格式的(或其他格式),格式不一致造成乱码。因此可以通过设置Qt的编码与system一致,由于改动该项设置只能在新项目中生效,因此你需要在改动设置后新建一个项目将原有的代码粘贴过去。
设置过程:
工具-选项-文本编辑器-行为-文件编码-默认编码 改为System,这样就和控制台一致了。
Q5:怎样生成可移植的可执行文件呢?(即希望在另一台电脑上也能运行我生成的.exe文件)
A5:请参阅《Qt 5.9 C++开发指南》(王维波,栗宝鹃,侯春望)(2018年5月第1版)第16章 16.4.2 Windows平台上的应用程序发布 (P458-489)一节。
(以后有空会补充说明)
Q6:可以为.exe可执行文件添加图标吗?
A6:请参阅《Qt 5.9 C++开发指南》(王维波,栗宝鹃,侯春望)(2018年5月第1版)第2章 2.4.8 为应用程序设置图标(P48)一节。
(以后有空会补充说明)
Q7:Qt安装和新建项目时选择哪个编译器比较简单?
A7:MinGW(32bit)和MinGW(64bit)比较简单。