Qt几种字符类型的相互转换
- 将const QString转换为const char*
- 将const char*转换为const QString
- Qstring转换为string
- 把string转换为Qstring
- Qt中弹出一个窗口
将const QString转换为const char*
#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
静态方法。以下是两种方法的示例代码:
方法一:使用构造函数
#include <QString>
#include <iostream>int main() {const char* charStr = "Hello, world!";// 使用构造函数将 const char* 转换为 const QStringconst QString qstr(charStr);std::cout << "QString: " << qstr.toStdString() << std::endl;return 0;
}
在上述示例代码中,我们创建了一个 const char*
的指针 charStr
,其中包含要转换的字符串。然后,我们使用 QString
的构造函数直接将 charStr
转换为 const QString
对象 qstr
。现在,我们可以使用 qstr
进行打印、处理或其他操作。
方法二:使用 fromUtf8 静态方法
#include <QString>
#include <iostream>int main() {const char* charStr = "Hello, world!";// 使用 fromUtf8 静态方法将 const char* 转换为 const QStringconst 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()
方法。以下是示例代码:
#include <QString>
#include <iostream>int main() {const QString qstr = "Hello, world!";// 使用 toStdString() 方法将 QString 转换为 std::stringstd::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()
静态方法。以下是示例代码:
#include <QString>
#include <iostream>int main() {std::string str = "Hello, world!";// 使用 fromStdString() 方法将 std::string 转换为 QStringQString qstr = QString::fromStdString(str);std::cout << "QString: " << qstr.toStdString() << std::endl;return 0;
}
在上述示例代码中,我们创建了一个 std::string
对象 str
,其中包含要转换的字符串。然后,我们使用 fromStdString()
静态方法将 str
转换为 QString
对象 qstr
。
Qt中弹出一个窗口
void VtkDemo_02::showMessage(const QString& message) {// 用于显示消息弹出框// 定义一个单独的函数,似乎还是需要到头文件中进行声明一下才行QMessageBox::information(nullptr, "Title", message);
}