qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码

作者 : admin 本文共937个字,预计阅读时间需要3分钟 发布时间: 2024-06-6 共1人阅读

MFC与QT的消息机制的区别_qt信号槽机制与mfc的消息映射机制的区别-CSDN博客

1.QT4-QT5差别

kits构建
qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码插图

控件,信号与槽
 

qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码插图(1)

qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码插图(2)

qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码插图(3)
ui修改好后点击编译会自动生成 ui_XXX.h

qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码插图(4)

qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码插图(5)
聚合的关系,不是拥有的关系。

qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码插图(6)
QWidget 和QWindow有什么差别?

qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码插图(7)

qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码插图(8)

2.VS2019-QT5 构建添加现有项 没有MOC_**.cpp文件

qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码插图(9)

qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码插图(10)

右键->添加现有项,不会产生.MOC文件,
在.vcxproj中可以查看
qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码插图(11)
手动修改文件,或者如上图所示图形界面修改文件。

2.
qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码插图(12)

工程文件.vcxproj中去掉 .res的编译
qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码插图(13)

在工程文件中去掉.res文件
 

2.QString 转换成 LPCWSTR

#include 
#include 

LPCWSTR QStringToLPCWSTR(const QString& str)
{
    // 将QString转换为std::wstring
    std::wstring wstr = str.toStdWString();
    
    // 返回std::wstring的c_str()转换为LPCWSTR类型的指针
    return wstr.c_str();
}

int main()
{
    QString myQString = "Hello, world!";
    
    // 将QString转换为LPCWSTR
    LPCWSTR myLPCWSTR = QStringToLPCWSTR(myQString);
    
    // 使用myLPCWSTR...
    
    return 0;
}

工程构建,工程文件.vcxproj
clcompile  针对.cpp文件
qtuic         针对.ui文件
qtmoc       针对 .h文件 

3.QT4 VS2010  QString  char 乱码解决方法

VS2010默认生成文件编码为UTF-8
1.文件编码为UTF-8
2. 添加头文件
3.用对字符用 tr

如果文件编码GB2312转成文件编码UTF-8会
出现:汉字乱码,解决方法:手动修改文件成可识别字符
qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码插图(14)

qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码插图(15)

4.QT5 VS2019  QString  char 乱码解决方法
   VS2019默认生成:文件编码为GB2312

qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码插图(16)

当文件编码转换为UTF-8时:
qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码插图(17)

文件编码:GB2312
QString和char 都是正常编码的方法:

qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码插图(18)

文件编码:UTF-8
对QString 友好。
新建文件为UTF-8编码,QString 直接输入中文不会有乱码。

qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码插图(19)

 

本站无任何商业行为
个人在线分享 » qt4-qt5 升级(2)-GUI-UTF-8-GBK-QTextCode-字符集乱码
E-->