在QT中,QString::fromLocal8Bit 函数用于将本地8位编码的字符串转换为 QString 对象。如果在 QT 6.2.4 中使用 this->setWindowTitle(QString::fromLocal8Bit(“串口”)); 出现乱码,可能的原因是程序的运行环境与字符串编码不一致。
解决方法:
1.确认你的源代码文件是以 UTF-8 编码保存的。
2.确保你的开发环境(如 IDE)使用的是 UTF-8 编码。
3.如果你的操作系统使用的不是 UTF-8 编码,可以尝试使用 QString::fromUtf8 或者直接使用 QString 构造函数 QString(“串口”),这样会自动根据你的环境编码进行转换。
示例代码:
this->setWindowTitle(QString("串口")); // 直接使用 QString 构造函数
如果上述方法仍然不能解决问题,可能需要检查系统的语言和区域设置,确保它们与你的程序兼容。
2.Qt5中,提供了一个专门的处理宏,来支持中文常量,那就是QStringLiteral,但它只能处理常量
this->setWindowTitle(QStringLiteral("串口助手"));
3.直接定义UTF-8 的字符串并显示
this->setWindowTitle(QString::fromUtf8("你好,世界!"););