1. std::string 和 QString 的转换
// std::string 转换为 QString
QString MainWindow::string_to_QString(const std::string str)
{
return QString::fromLocal8Bit(str.data());
}
// QString 转换为 std::string
std::string MainWindow::QString_to_string(const QString q_str)
{
QByteArray bytes = q_str.toLocal8Bit();
return std::string(bytes);
}
2. 文件名,后缀名,文件路径获取
#include <QFileInfo>
#include <QDebug>
// 示例: "C:/Users/11838/Desktop/test.py"
QFileInfo fi("C:/Users/11838/Desktop/test.py");
qDebug() << fi.baseName(); // "test"
qDebug() << fi.absolutePath(); // "C:/Users/11838/Desktop"
qDebug() << fi.fileName(); // "test.py"
qDebug() << fi.path(); // "C:/Users/11838/Desktop"
qDebug() << fi.suffix(); // "py"
qDebug() << fi.filePath(); // "C:/Users/11838/Desktop/test.py"
qDebug() << fi.absoluteFilePath(); // "C:/Users/11838/Desktop/test.py"
qDebug() << fi.completeSuffix(); // "py"
3. Json操作
(1)Qt中不能像C#一样直接将类序列化为Json文件,因此,我们可以使用QJson的相关类来实现该操作,一般使用到的有:
#include <QJsonArray>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonParseError>
#include <QJsonValue>
(2)Json文件获取方式为
QString jsonPath = "jsonfile.json";
QFile file(jsonPath);
if (!file.open( QIODevice::ReadWrite)) {
qDebug() << "文件打开失败!\n";
exit(1);
}
qDebug() << "文件打开成功\n";
QJsonParseError jsonParserError;
QJsonDocument jsonDocument = QJsonDocument::fromJson(file.readAll()