Unsolved treeview获取节点的路径
-
你好~我用控件treeview 导入系统的e盘 现在想获取这个下面 某个文件夹的路径 请问该怎么做 我用了点击的信号 然后在这个信号对应的槽里面获取节点的路径~~用index.data.tostring中文路径得到的是乱码
-
@YiQin 欢迎:
- .打印
index.data
看看; - 继续打印
index.data.toString
- 路径在QML中的类型,一般是
url
这个基本类型。
- .打印
-
你好 谢谢你的回复~~~
我把相应的信息打印出来了,代码如下所示:打印的消息如下所示:
可以看出 当路径为中文的时候,index.data.tostring就不对了 请问是格式的问题吗??我该怎样做?
-
@YiQin 你好。你的结果中,并没有出现乱码。只是目前你的这环境显示的中文(宽字节的内容),都按照unicode编码显示了。
\u4ee3\u7801\u8d70\u8bfb
=>代码走读
是不是这个中文字符串?可是
QString
本身是就是支持多子节的。你当前的Qt 版本多少?你是在 VS 中用的Qt库,对吧? 这个在目前的Qt IDE中,几乎很难遇到。 Qt IDE默认的编码环境都是utf-8. 尝试设置一下VS 的编码试试。
-
@joeQ 嗯 对的 我用的是vs2010+qt的方式 我在vs里面也设置了 编码方式为UTF-8不过还是上面那样的情况~~不知道 还有什么其他问题造成的嘛?
-
@YiQin 这些内容,显示在窗体上面也是这样吗? 比如,用
QMessageBox
显示出来,也是unicode编码的方式吗?
如果仅仅是qDebug的问题,可以忽略。或者,你尝试一下 :
qDebug("%s",qPrintable(str))
qDebug("%s",qUtf8Printable(str))
qDebug("%ls",qUtf16Printable(str))
const char *qPrintable(const QString &str)
const wchar_t *qUtf16Printable(const QString &str)
const char *qUtf8Printable(const QString &str) -
@joeQ 你好用第二个中文就显示出来了,我先实现点击treeview下面的一个节点(文件夹),然后遍历里面的.png文件在listview中显示,请问该怎么做?
我的思路是点击节点之后,往上获取路径,得到文件夹的绝对路径,然后在listview中遍历这个绝对路径的文件,请问有什么相应的代码或例程可以推荐的嘛??我想实现的效果图如下: