Qt学习问题总结
1.适配高DPI
在生成QApplication前加这样一行代码
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);//支持高DPI
2.中文乱码
(1)由于使用MSVC编译器导致的界面中文乱码
在包含中文的源码文件中添加:
#if _MSC_VER >=1600 //VS2010版本号是1600,强制MSVC编译器采用UTF-8编码生成可执行文件
#pragma execution_character_set("utf-8")
#endif
(2)QString向QbyteArray转换导致的中文乱码
使用toLatin1()会导致中文乱码,应该使用toLocal8Bit()
(3)QSettings无法读取带斜杠的注册表值
只能使用window API读取
(4)尽量不要将QT的运行环境加到环境变量中
这样在使用VS编译QT程序时,加载DLL会出错,导致界面无法显示。VS默认加载了环境变量中存在的DLL,但是用QtCreator没有这个问题
(5)隐藏DOS窗口
更改程序入口
#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) // 设置入口地址