Qt几种字符类型的相互转换
- [将const QString转换为const char*](#将const QString转换为const char*)
- [将const char*转换为const QString](#将const char*转换为const QString)
- Qstring转换为string
- 把string转换为Qstring
- 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);
}