F\u0000p\u00001\u0000,\u0000,\u0000F\u0000p\u00002\u0000,\u0000,\u0000F\u00003\u0000,\u0000,\u0000F\u0000z\u0000,\u0000使用QString解析
时间: 2023-09-19 19:12:51 浏览: 187
假设你想将这个字符串解析成一个包含多个 QPointF 对象的列表,可以按照以下步骤操作:
1. 使用 QString 的 split 方法将字符串拆分成一个 QStringList 对象,每个元素代表一个 QPointF 对象的字符串表示,例如:
QStringList strList = str.split(QRegExp("[,\\s]+"));
这里使用正则表达式 "[,\\s]+" 匹配逗号和空格,以便正确拆分字符串。
2. 遍历 QStringList 对象,对于每个元素,使用 QPointF 的 fromString 静态方法将其转换为 QPointF 对象,例如:
QList<QPointF> pointList;
foreach (const QString& str, strList) {
QPointF point = QPointF::fromString(str);
pointList << point;
}
这里使用 QList 存储所有的 QPointF 对象,使用 foreach 循环遍历 QStringList 对象,对于每个元素使用 QPointF::fromString 方法将其转换为 QPointF 对象,并添加到 pointList 中。
3. 最终得到的 pointList 就是包含所有 QPointF 对象的列表。
完整示例代码如下:
QString str = "F\0p\01\0,,\0F\0p\02\0,,\0F\03\0,,\0F\0z\0,,";
QStringList strList = str.split(QRegExp("[,\\s]+"));
QList<QPointF> pointList;
foreach (const QString& str, strList) {
QPointF point = QPointF::fromString(str);
pointList << point;
}
qDebug() << pointList;
阅读全文