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);
}
相关推荐
island13147 分钟前
CANN GE(图引擎)深度解析:计算图优化管线、内存静态规划与异构 Stream 调度机制
c语言·开发语言·神经网络
曹牧11 分钟前
Spring Boot:如何在Java Controller中处理POST请求?
java·开发语言
浅念-14 分钟前
C++入门(2)
开发语言·c++·经验分享·笔记·学习
WeiXiao_Hyy14 分钟前
成为 Top 1% 的工程师
java·开发语言·javascript·经验分享·后端
User_芊芊君子20 分钟前
CANN010:PyASC Python编程接口—简化AI算子开发的Python框架
开发语言·人工智能·python
Max_uuc31 分钟前
【C++ 硬核】打破嵌入式 STL 禁忌:利用 std::pmr 在“栈”上运行 std::vector
开发语言·jvm·c++
故事不长丨31 分钟前
C#线程同步:lock、Monitor、Mutex原理+用法+实战全解析
开发语言·算法·c#
牵牛老人34 分钟前
【Qt 开发后台服务避坑指南:从库存管理系统开发出现的问题来看后台开发常见问题与解决方案】
开发语言·qt·系统架构
froginwe1142 分钟前
Python3与MySQL的连接:使用mysql-connector
开发语言
灵感菇_1 小时前
Java HashMap全面解析
java·开发语言