• 6078阅读
  • 6回复

[提问]求助!关于从QTreeWidget 获取的一个中文的Item然后进行比较 [复制链接]

上一主题 下一主题
离线1048797679
 
只看楼主 倒序阅读 楼主  发表于: 2011-04-20
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —
本人菜鸟中菜鸟
现在遇到一个问题就是如何
获取QTreeWidget中的一个中文的Item然后与特定的字符串进行比较

我现在得做法是
index = ui->treeWidget->currentIndex();
[pre]if(index.data().toString() == "你")[/pre][pre]但是实际上这两个不等。[/pre][pre]从buptyoyo百度空间上查到过这种做法[/pre][pre]

if (index.data().toString().toStdWString()==L"你")
但是提示错误----Illegal byte sequence

就算是在main函数设置了字符集
QTextCodec *codec = QTextCodec::codecForName("UTF8");
QTextCodec::setCodecForCStrings(codec);
后还是一样得错误提示

是因为我字符集设置错误还是?
这个问题困扰了我很久。。。
希望各位 能帮忙看看。。。


[/pre][pre] [/pre]
离线ppdayz

只看该作者 1楼 发表于: 2011-04-20
是item的名字和“你”比较么?
离线1048797679
只看该作者 2楼 发表于: 2011-04-20
回 1楼(ppdayz) 的帖子
嗯。
假设 从 QTreeWidget 中获取得 Item 的中文是--你
然后 跟 “你”比较
如果 相等则 执行某些操作、
离线ppdayz

只看该作者 3楼 发表于: 2011-04-20
QTreeWidgetItem *  currentItem = QTreeWidget->currentItem ();
if(currentItem->text(0) == "你")
这样行么
-------
刚刚漏了个int column
[ 此帖被ppdayz在2011-04-20 21:03重新编辑 ]
离线1048797679
只看该作者 4楼 发表于: 2011-04-20
回 3楼(ppdayz) 的帖子
我怎么写了
但似乎还是不行啊

离线1048797679
只看该作者 5楼 发表于: 2011-04-20
问题有了进展了。。。
其实主要还是字符集的问题。
我看来这位哥们的文章试了下,
http://blog.csdn.net/hengyunabc/archive/2010/10/20/5953923.aspx
现在暂时可以实现了虽然方法可能笨了点


代码如下:
离线1048797679
只看该作者 6楼 发表于: 2011-04-20
感谢 LS  ppdayz 的帮助。
快速回复
限100 字节
 
上一个 下一个