std::string * 转qstring
时间: 2024-08-16 22:07:05 浏览: 34
在C++标准库中,`std::string`是一个字符串类型,而在Qt中我们通常使用`QString`。如果你有一个`std::string`指针,想要转换为`QString`,你可以使用`Qvariant`和`fromStdString()`方法,如果两者的数据类型兼容,或者通过`QMetaObject::invokeMethod()`动态转换。这里有个示例:
```cpp
#include <QCoreApplication>
#include <QString>
#include <string>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
std::string str("Hello from C++");
// 使用QVariant直接转换
QVariant variant = QString::fromStdString(str);
QString qString = variant.toString();
// 或者通过方法调用转换
QObject *obj = qApp; // 指向当前应用对象
const char* method = "tr"; // Qt tr函数用于本地化字符串
qString = obj->method(method, QVariant::fromValue<QString>(str));
// 现在你可以使用qString了
qDebug() << "QString: " << qString;
return a.exec();
}