首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将字符串转换为QString?

如何将字符串转换为QString?
EN

Stack Overflow用户
提问于 2009-11-29 07:56:58
回答 4查看 259.7K关注 0票数 177

最基本的方法是什么?

EN

回答 4

Stack Overflow用户

发布于 2009-11-29 08:07:34

如果使用与STL兼容的方式进行编译,则QString具有将std::string转换为QStringstatic method

代码语言:javascript
复制
std::string str = "abc";
QString qstr = QString::fromStdString(str);
票数 248
EN

Stack Overflow用户

发布于 2009-11-29 08:10:41

另一种方式:

代码语言:javascript
复制
std::string s = "This is an STL string";
QString qs = QString::fromAscii(s.data(), s.size());

这样做的好处是不使用.c_str(),这可能会导致std::string复制自身,以防最后没有地方添加'\0'

票数 13
EN

Stack Overflow用户

发布于 2014-09-17 23:02:36

我遇到这个问题是因为我在遵循答案时遇到了问题,所以我在这里发布了我的解决方案。

上面的示例都显示了包含仅包含ASCII值的字符串的示例,在这种情况下,一切工作正常。但是,在处理Windows中的字符串时,这些解决方案不起作用

在这种情况下,唯一能给出正确结果的代码是

代码语言:javascript
复制
std::string s = "Übernahme";
QString q = QString::fromLocal8Bit(s.c_str());

如果你不需要处理这样的字符串,那么上面的答案将会工作得很好。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1814189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档