treeview获取节点的路径
-
你好~我用控件treeview 导入系统的e盘 现在想获取这个下面 某个文件夹的路径 请问该怎么做 我用了点击的信号 然后在这个信号对应的槽里面获取节点的路径~~用index.data.tostring中文路径得到的是乱码
-
你好 谢谢你的回复~~~
我把相应的信息打印出来了,代码如下所示:打印的消息如下所示:
可以看出 当路径为中文的时候,index.data.tostring就不对了 请问是格式的问题吗??我该怎样做?
-
@YiQin 你好。你的结果中,并没有出现乱码。只是目前你的这环境显示的中文(宽字节的内容),都按照unicode编码显示了。
\u4ee3\u7801\u8d70\u8bfb
=>代码走读
是不是这个中文字符串?可是
QString
本身是就是支持多子节的。你当前的Qt 版本多少?你是在 VS 中用的Qt库,对吧? 这个在目前的Qt IDE中,几乎很难遇到。 Qt IDE默认的编码环境都是utf-8. 尝试设置一下VS 的编码试试。
-
@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) -
@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)