std::string 转Qstring
时间: 2024-09-20 19:12:07 浏览: 49
MFC-包含qt库的代码
在Qt框架中,你可以使用`QString::fromStdString()`函数将C++标准库中的`std::string`转换为`QString`类型。这是因为Qt提供了一种方便的方法,可以直接处理跨平台字符串,而`std::string`是在C++11及以后的标准中定义的。
这是一个简单的例子:
```cpp
#include <iostream>
#include <string>
#include <QtWidgets/QApplication>
#include <QtGui/qstring>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
std::string str = "Hello, Qt!";
QString qstr = QString::fromStdString(str);
qDebug() << "std::string: " << str;
qDebug() << "QString: " << qstr;
return app.exec();
}
```
在这个例子中,`qDebug()`函数用于输出结果。运行这个程序,你会看到原始的`std::string`和对应的`QString`被正确地转换并打印出来。
如果你需要将`QString`转换回`std::string`,则可以使用`toStdString()`或`utf8()`方法:
```cpp
std::string strFromQString = qstr.toStdString(); // 使用toStdString()
std::string strFromQStringUtf8 = qstr.utf8(); // 如果你想得到UTF-8编码的字符串
```
阅读全文