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);
}
相关推荐
影寂ldy2 小时前
C#构造函数 + 析构函数
开发语言·c#
清水白石0082 小时前
Python 可变对象与不可变对象深度解析:为什么 `tuple` 里可以放 `list`?
开发语言·python·list
源图客2 小时前
【亚马逊 SP-API 实战】Java 实现单体商品 Listing 创建 + 图片上传完整教程(亲测可用)
开发语言·亚马逊电商
SWAGGY..2 小时前
【C++初阶】:(11)list的功能介绍&&list迭代器模拟实现
开发语言·c++
Irissgwe2 小时前
二、信号与槽
c++·qt·信号与槽
不会C语言的男孩3 小时前
C++ Primer 第3章:字符串、向量和数组
开发语言·c++
兰令水3 小时前
leecodecode【反前后指针】【2026.5.31打卡-java版本】
java·开发语言
Dovis(誓平步青云)4 小时前
《QT学习第四篇:常见事件与UDP、TCP、文件系统、(锁、信号量、条件变量》
c语言·开发语言·汇编·qt
isyangli_blog13 小时前
OpenDayLight (Carbon 版本) 启动与组件安装
开发语言·php
vb20081113 小时前
FastAPI APIRouter
开发语言·python