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);
}
相关推荐
ᐇ9591 小时前
Java LinkedList集合全面解析:双向链表的艺术与实战
java·开发语言·链表
码银2 小时前
【数据结构】顺序表
java·开发语言·数据结构
神仙别闹2 小时前
基于QT(C++) 实现哈夫曼压缩(多线程)
java·c++·qt
Python私教2 小时前
Python 开发环境安装与配置全指南(2025版)
开发语言·python
小陈又菜3 小时前
【QT学习之路】网络通信新次元!Qt TCP双侠:Server监听瞬息,Socket连接万变
qt·网络协议·tcp/ip·socket
百锦再3 小时前
第12章 测试编写
android·java·开发语言·python·rust·go·erlang
无敌最俊朗@3 小时前
C++ 并发与同步速查笔记(整理版)
开发语言·c++·算法
Elastic 中国社区官方博客3 小时前
Observability:适用于 PHP 的 OpenTelemetry:EDOT PHP 加入 OpenTelemetry 项目
大数据·开发语言·人工智能·elasticsearch·搜索引擎·全文检索·php
csbysj20203 小时前
PHP 魔术常量
开发语言