QT4对话框中文乱码问题
2009-03-06 16:10
225 查看
一般情况下,在main函数开始处,加入如下代码:
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK"));
然后在代码中,涉及中文之外,使用类似tr("中文")的语法即可解决问题.
但笔者在首次开发中,遇到一个现象,程序编译成功后,若直接从编译器菜单下启动程序,则界面显示正常,但进入程序文件夹,直接运行程序,程序界面显示有乱码.
造成这个现象的原因,很可能是动态库路径设置不正确.
比如QT的安装目录为D:/Qt/qt-win-commercial-src-4.3.1,简单的做法是将"D:/Qt/qt-win-commercial-src-4.3.1/bin"放置系统环境变量中path项的开始处.即可解决该问题.
但此法有可能造成问题,若系统中有其它应用程序也是基于QT的,那么那些应用程序有可能会优先搜索到path中第一项,有可能会导致那些应用程序找不到自己期望的函数名称或者地址.所以,还有一个办法就是,将"D:/Qt/qt-win-commercial-src-4.3.1/bin"中使用到的动态库复制到可执行模块当前目录.
附windows下动态库的搜索路径:
1.通过隐式和显式链接,Windows 首先搜索“已知 DLL”,如 Kernel32.dll 和 User32.dll
2.当前进程的可执行模块所在的目录。
3.当前目录。
4.Windows 系统目录。GetSystemDirectory 函数检索此目录的路径。
5.Windows 目录。GetWindowsDirectory 函数检索此目录的路径。
6.PATH 环境变量中列出的目录。
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK"));
然后在代码中,涉及中文之外,使用类似tr("中文")的语法即可解决问题.
但笔者在首次开发中,遇到一个现象,程序编译成功后,若直接从编译器菜单下启动程序,则界面显示正常,但进入程序文件夹,直接运行程序,程序界面显示有乱码.
造成这个现象的原因,很可能是动态库路径设置不正确.
比如QT的安装目录为D:/Qt/qt-win-commercial-src-4.3.1,简单的做法是将"D:/Qt/qt-win-commercial-src-4.3.1/bin"放置系统环境变量中path项的开始处.即可解决该问题.
但此法有可能造成问题,若系统中有其它应用程序也是基于QT的,那么那些应用程序有可能会优先搜索到path中第一项,有可能会导致那些应用程序找不到自己期望的函数名称或者地址.所以,还有一个办法就是,将"D:/Qt/qt-win-commercial-src-4.3.1/bin"中使用到的动态库复制到可执行模块当前目录.
附windows下动态库的搜索路径:
1.通过隐式和显式链接,Windows 首先搜索“已知 DLL”,如 Kernel32.dll 和 User32.dll
2.当前进程的可执行模块所在的目录。
3.当前目录。
4.Windows 系统目录。GetSystemDirectory 函数检索此目录的路径。
5.Windows 目录。GetWindowsDirectory 函数检索此目录的路径。
6.PATH 环境变量中列出的目录。
相关文章推荐
- Qt4.8 中文乱码问题
- qt中文乱码问题
- QT-解决中文显示乱码问题
- 完美解决QT->setText()中文乱码问题
- Qt于win7下编译的程序在xp中运行中文乱码问题
- Qt解决中文乱码问题----记录
- 解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)——ubuntu环境设置默认是utf-8,文件编码可使用Encodersoft批量转换
- Qt与MSVC中文乱码问题的解决方案
- Qt中文乱码问题解决办法【转】
- Qt做发布版,解决声音和图片、中文字体乱码问题(需要在main里写上QApplication::addLibraryPath("./plugins")才能加载图片,有图片,很清楚)
- QT5.2.1 中文乱码问题
- Qt做发布版,解决声音和图片、中文字体乱码问题
- 解决QT中文字符串在osg中显示乱码的问题
- Qt之解决界面中文乱码问题
- Qt写c++控制台中文乱码问题
- qt webkit 中文乱码问题 另辟蹊径
- qt 中文乱码 问题
- Qt技巧:中文显示乱码问题解决
- 纠结半天的QT中文乱码问题
- Qt中QString和string互相转换的中文乱码问题