• 4574阅读
  • 4回复

[提问][已解决]Qt判断中文问题 [复制链接]

上一主题 下一主题
离线xiongyu
 

只看楼主 倒序阅读 楼主  发表于: 2009-08-19
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —
  1.           void Interface::zhuanhuan()
  2. {
  3.         QString input = inputLine->text();
  4.         if(input=="中")
  5.         showLabel->setText(tr("zhong"));
  6. }


这样无论我的QLineEdit 里面填什么,都不会等于  中 字

请问大家有什么办法可以判断?

==============================================================

解决方法..
先设置为gb18030字符集
QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030"));
然后在代码
  1.   
  2.         void Interface::zhuanhuan()
  3. {
  4.         QString input = inputLine->text();
  5.         if(input==tr("中"))                                   //这里要加  tr
  6.         showLabel->setText(tr("zhong"));
  7. }


谢谢yj_yulin的提醒,我都忘记这回事了
[ 此帖被xiongyu在2009-08-19 10:05重新编辑 ]
为自己而已努力吧... 我的博客 http://xycode.org
离线yj_yulin

只看该作者 1楼 发表于: 2009-08-19
inputLine->text()是unicode, "中"不是,当然不会相等
离线yu2212
只看该作者 2楼 发表于: 2009-08-19
OK。。这个问题解决了。。谢谢啦
离线duduqq

只看该作者 3楼 发表于: 2009-08-19
QString str = "中";
if(input == str)
这样试试看行不行
离线xiongyu

只看该作者 4楼 发表于: 2009-08-19
回复楼上的。

这样不行的。。我一开始就试过了。还是unicode和GBK的问题吧
为自己而已努力吧... 我的博客 http://xycode.org
快速回复
限100 字节
 
上一个 下一个