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);
}
相关推荐
zh_xuan10 小时前
kotlin lazy委托异常时执行流程
开发语言·kotlin
阿猿收手吧!10 小时前
【C++】string_view:高效字符串处理指南
开发语言·c++
玄同76511 小时前
我的 Trae Skill 实践|使用 UV 工具一键搭建 Python 项目开发环境
开发语言·人工智能·python·langchain·uv·trae·vibe coding
Yorlen_Zhang11 小时前
Python Tkinter Text 控件完全指南:从基础编辑器到富文本应用
开发语言·python·c#
lxl130711 小时前
C++算法(1)双指针
开发语言·c++
不绝19111 小时前
C#进阶:预处理指令/反射,Gettype,Typeof/关键类
开发语言·c#
无小道11 小时前
Qt-qrc机制简单介绍
开发语言·qt
zhooyu11 小时前
C++和OpenGL手搓3D游戏编程(20160207进展和效果)
开发语言·c++·游戏·3d·opengl
HAPPY酷11 小时前
C++ 和 Python 的“容器”对决:从万金油到核武器
开发语言·c++·python
大鹏说大话11 小时前
告别 MSBuild 脚本混乱:用 C# 和 Nuke 构建清晰、可维护的现代化构建系统
开发语言·c#