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);
}