std::string 转 QString
时间: 2024-10-04 19:02:36 浏览: 21
`std::string` 是 C++ 标准库中的字符串类型,而 `QString` 是 Qt 框架中的字符串类型。如果你想在 Qt 应用程序中使用从 C++ Standard Library 的 `std::string` 转换为 `QString`,你可以使用 `QStandardPaths` 或 `Qt` 提供的一些方便的转换函数。
以下是简单的例子:
```cpp
#include <QString>
#include <QStandardPaths>
std::string str = "Hello, World!";
QString qStr = QCoreApplication::translate("YourApp", "%s").arg(str.c_str()); // 使用 QCoreApplication::translate 来避免硬编码文本
// 或者直接转换,如果不需要翻译:
qStr =<QString>(str); // 这里使用了 C++11 的类型转换构造函数
```
这里我们通过 `QCoreApplication::translate` 函数将 `std::string` 转换为 `QString` 并能提供本地化的翻译。如果你只是想简单地复制字符,可以直接使用类型转换构造函数 `QString(const char*)`。
相关问题
std::string 转 Qstring
可以使用QString::fromStdString()函数将std::string转换为QString。
例如:
```c++
#include <iostream>
#include <string>
#include <QString>
int main()
{
std::string str = "Hello, world!";
QString qstr = QString::fromStdString(str);
std::cout << "std::string: " << str << std::endl;
std::cout << "QString: " << qstr.toStdString() << std::endl;
return 0;
}
```
输出结果:
```
std::string: Hello, world!
QString: Hello, world!
```
std::string 转 qString
可以使用QString的构造函数来将std::string转换为QString。代码如下:
```c++
#include <string>
#include <QString>
std::string str = "Hello, world!";
QString qstr = QString::fromStdString(str);
```
这里使用了QString的静态函数`fromStdString()`,它接受一个std::string参数并返回一个对应的QString对象。
阅读全文