Qt几种字符类型的相互转换

Qt几种字符类型的相互转换

将const QString转换为const char*

cpp 复制代码
#include <QString>
#include <iostream>

int main() {
    const QString str = "Hello, world!";
    
    // 使用 toUtf8() 方法将 QString 转换为 const char*
    const char* utf8Str = str.toUtf8().data();
    std::cout << "UTF-8 String: " << utf8Str << std::endl;
    
    return 0;
}

调用 toUtf8() 方法将 str 转换为 QByteArray,并使用 data() 方法获取其中的 const char* 指针 utf8Str

将const char*转换为const QString

要将 const char* 转换为 const QString,可以使用 QString 的构造函数或 fromUtf8 静态方法。以下是两种方法的示例代码:

方法一:使用构造函数

cpp 复制代码
#include <QString>
#include <iostream>

int main() {
    const char* charStr = "Hello, world!";

    // 使用构造函数将 const char* 转换为 const QString
    const QString qstr(charStr);
    std::cout << "QString: " << qstr.toStdString() << std::endl;

    return 0;
}

在上述示例代码中,我们创建了一个 const char* 的指针 charStr,其中包含要转换的字符串。然后,我们使用 QString 的构造函数直接将 charStr 转换为 const QString 对象 qstr。现在,我们可以使用 qstr 进行打印、处理或其他操作。

方法二:使用 fromUtf8 静态方法

cpp 复制代码
#include <QString>
#include <iostream>

int main() {
    const char* charStr = "Hello, world!";

    // 使用 fromUtf8 静态方法将 const char* 转换为 const QString
    const QString qstr = QString::fromUtf8(charStr);
    std::cout << "QString: " << qstr.toStdString() << std::endl;

    return 0;
}

在上述示例代码中,我们同样创建了一个 const char* 的指针 charStr,其中包含要转换的字符串。然后,我们使用 fromUtf8 静态方法将 charStr 转换为 const QString 对象 qstr

Qstring转换为string

要将 QString 转换为 std::string,可以使用 toStdString() 方法。以下是示例代码:

cpp 复制代码
#include <QString>
#include <iostream>

int main() {
    const QString qstr = "Hello, world!";
    
    // 使用 toStdString() 方法将 QString 转换为 std::string
    std::string str = qstr.toStdString();
    std::cout << "std::string: " << str << std::endl;
    
    return 0;
}

在上述示例代码中,我们创建了一个 const QString 对象 qstr,其中包含要转换的字符串。然后,我们使用 toStdString() 方法将 qstr 转换为 std::string 对象 str

把string转换为Qstring

要将 std::string 转换为 QString,可以使用 fromStdString() 静态方法。以下是示例代码:

cpp 复制代码
#include <QString>
#include <iostream>

int main() {
    std::string str = "Hello, world!";
    
    // 使用 fromStdString() 方法将 std::string 转换为 QString
    QString qstr = QString::fromStdString(str);
    std::cout << "QString: " << qstr.toStdString() << std::endl;
    
    return 0;
}

在上述示例代码中,我们创建了一个 std::string 对象 str,其中包含要转换的字符串。然后,我们使用 fromStdString() 静态方法将 str 转换为 QString 对象 qstr

Qt中弹出一个窗口

javascript 复制代码
void VtkDemo_02::showMessage(const QString& message) {
	// 用于显示消息弹出框
	// 定义一个单独的函数,似乎还是需要到头文件中进行声明一下才行
	QMessageBox::information(nullptr, "Title", message);
}
相关推荐
编码浪子14 小时前
趣味学RUST基础篇(构建一个命令行程序2重构)
开发语言·重构·rust
echoarts15 小时前
MATLAB R2025a安装配置及使用教程(超详细保姆级教程)
开发语言·其他·matlab
阿方.91815 小时前
《数据结构全解析:栈(数组实现)》
java·开发语言·数据结构
Dovis(誓平步青云)15 小时前
《探索C++11:现代语法的内存管理优化“性能指针”(下篇)》
开发语言·jvm·c++
charlie11451419116 小时前
前端三件套简单学习:HTML篇1
开发语言·前端·学习·html
kebeiovo16 小时前
项目必备流程图,类图,E-R图实例速通
开发语言·r语言·流程图
软件开发-NETKF888816 小时前
JSP到Tomcat特详细教程
java·开发语言·tomcat·jsp·项目运行
ftswsfb16 小时前
现代C++:现代C++?
开发语言·c++
乌萨奇也要立志学C++16 小时前
【C++详解】C++ 智能指针:使用场景、实现原理与内存泄漏防治
开发语言·c++
minji...16 小时前
C++ 详细讲解vector类
开发语言·c++