如何将PWSTR转换为QString以在列表框中显示
How to convert PWSTR to QString to display in a listbox
我正在尝试在qt上的列表框中显示文本。我知道QT上的列表框仅接受QString,因此我尝试在此处使用该示例:如何将PWSTR转换为C 中的字符串?并将其转换为Wstring,然后再转换为QString。这样做,我在列表框中得到了类似的东西:
r
。�������农业。
如果我在控制台上将其打印出来,它会给我我想要的东西。如何使其正确显示在列表框中。如何正确显示在列表框中?
您应该使用QString的fromWCharArray
静态函数:
wchar_t* my_string = ...;
QString qstring = QString::fromWCharArray(my_string);
请注意,如果my_string
不是null终止,则fromWCharArray()
的过载是字符串长度的第二个参数:
wchar_t* my_string = ...;
size_t my_len = ...;
QString qstring = QString::fromWCharArray(my_string, my_len);
除了史蒂夫·洛里默斯(Steve Lorimers
#include <QtWidgets>
#include <shlobj.h>
int main()
{
qDebug() << "Qt Version: " << QT_VERSION_STR;
wchar_t *localAppData = nullptr;
SHGetKnownFolderPath(FOLDERID_LocalAppData, 0, NULL, &localAppData);
QString qStr = QString::fromWCharArray(localAppData);
CoTaskMemFree(static_cast<void*>(localAppData));
qDebug() << "localAppData (as QString):" << qStr;
return 0;
}
用VS2013进行了编译并测试:
Qt Version: 5.9.2
localAppData (as QString): "C:\Users\Scheff\AppData\Local"
resp。功能是QString::fromWCharArray()
。
相关文章:
- 如何告诉 gcc 显示您使用的优化标志列表
- 动态填充的组合框不显示文本,列表未定义
- 程序输入名称和高度并显示它。我不知道如何显示列表中最高人的姓名和身高
- 尝试从列表中随机选取单个元素并将其显示为C++
- C/C++intellisense 0.26.1不显示结构成员列表
- 如何在屏幕上显示对象列表?
- 如何重载运算符<<显示我的列表
- 如何显示目录中的文件列表
- 如何在函数运行时逐个显示列表项
- 当鼠标悬停在 MFC C++ 中列表控件的列标题上时,可视显示工具提示
- 在 MFC C++中悬停列表控件的列标题的可视化显示工具提示
- 使用 Struct 进行 mp3 播放器模拟C++(不需要播放 mp3 的唯一显示列表)
- 列表视图最初不显示数据
- 显示链接列表内联
- 如何显示图形邻接列表的元素?
- 使用C /Winrt,带有设备的填充列表框,显示其名称
- 我写了此方法来删除链接列表的重复元素,但它显示了分段故障,原因
- 数组初始值设定项必须是初始值设定项列表错误未显示
- C 链接列表显示全部
- 析构函数问题 + 列表显示