QT4对话框中文乱码问题

     一般情况下,在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 环境变量中列出的目录。

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值