TDataParse Class
TDataParse数据解析类。 负责解析各种格式的数据,并做解析错误分析。 More...
Header: | #include <TDataParse> |
Static Public Members
QString | aesCrypt(int iLevel, int iMode, const QString &iRawText, const QString &iKey, const QVariantMap &iParams = QVariantMap()) |
QString | aesDecrypt(int iLevel, int iMode, const QString &iRawText, const QString &iKey, const QVariantMap &iParams = QVariantMap()) |
QString | aesExpandKey(int iLevel, int iMode, const QString &iKey, bool isEncryptionKey) |
QString | aesRemovePadding(const QString &iRawText, int iPaddingType = 2) |
bool | barcode2File(const QString &iBarStr, const QString &iFilename, const QVariantMap &iParams = QVariantMap()) |
QVariantMap | commandStr2Map(const QString &iComStr, const QString &iKeyCaseStr = QString( "" ), TError *oErr = NULL) |
QStringList | csvLine2List(const QString &iStr, TError *oErr = NULL) |
QList<QStringList> | csvStr2List(const QString &iStr, TError *oErr = NULL) |
QString | decodeBase64(const QString &iStr) |
QString | decryptBase64(const QString &iStr) |
bool | dmcode2File(const QString &iDmStr, const QString &filename, const QVariantMap ¶ms = QVariantMap()) |
QString | encodeBase64(const QString &iStr) |
QString | encryptBase64(const QString &iStr) |
QString | fetchEnumText(const QVariantList &iItems, const QStringList &iValues, const QString &iSeparator = ",") |
QVariantList | fetchVariantListField(const QVariantList &iVarLst, const QString &iMapKeyStr) |
QVariantMap | fetchVariantMapField(const QVariantMap &iVarMap, const QStringList &iFieldsStrLst, bool iKeepNoneExistsKeyBol = false) |
QVariantMap | fetchVariantMapField(const QVariantMap &iVarMap, const QString &iFieldsStr, bool iKeepNoneExistsKeyBol = false) |
QString | getUuid() |
QString | getVariantMd5(const QVariant &iVariantVar) |
QVariantMap | groupBy(const QVariantList &iVarLst, const QString &iKey) |
QVariantList | headerItem2searchList(const QVariantList &iVarList, const QString &iKeyStr = QString( "search" ), const QString &iCaseSensitivityKeyStr = QString( "caseSensitive" )) |
QVariant | hoconFiles2Variant(const QStringList &iHoconFileNames, TError *oErr = nullptr) |
QString | hoconStr2JsonStr(const QString &iHoconStr, bool iCompactBol = false, TError *oErr = nullptr) |
QVariant | hoconStr2Variant(const QString &iHoconStr, TError *oErr = nullptr) |
QVariant | jsonStr2Variant(const QString &iStr, TError *oErr = NULL) |
double | lengthValueConvert(const QString &iValueStr, const QString &iToUnits, int iPrecision = -1) |
QVariant | margins2Variant(const QMargins &iMargin, const QString &iFormat = "map") |
QVariant | marginsf2Variant(const QMarginsF &iMargin, const QString &iFormat = "map") |
QScriptValue | mergeScriptValue(const QScriptValue &iSv1, const QScriptValue &iSv2) |
QVariantMap | mergeVariantMap(const QVariantMap &iMap1, const QVariantMap &iMap2, bool iIgnoreEmptyValue = false) |
QString | numberToRoman(int iNum) |
QString | parseRtf(const QString &iFileName, const QString &iDstDir = QString( "" ), const QVariantMap &iOptions = QVariantMap(), TError *oErr = nullptr) |
double | pixel2point(int iPixel) |
QVariant | point2Variant(const QPoint &iPoint, const QString &iFormat = ",") |
int | point2pixel(double iPoint) |
QVariantMap | pointSizeOfString(const QString &iText, const QVariantMap &iFontStyle) |
QVariant | pointf2Variant(const QPointF &iPoint, const QString &iFormat = ",") |
bool | qrcode2File(const QString &iQrStr, const QString &iPath, const QString &iName, int size = 400) |
bool | qrcode2FileEx(const QString &iQrStr, const QString &filename, const QVariantMap ¶ms = QVariantMap()) |
QVariant | rect2Variant(const QRect &iRect, const QString &iFormat = "map") |
QVariant | rectf2Variant(const QRectF &iRect, const QString &iFormat = "map") |
QVariantMap | removeVariantMapEmptyItem(const QVariantMap &iDataVarMap) |
QVariantMap | replaceVariantMapEmptyItem(const QVariantMap &iDataVarMap, const QVariant &iReplaceToVar = QVariant()) |
int | romanToNumber(const QString &iRoman) |
QString | rtf2txt(const QString &iRtfStr) |
QScriptValue | scriptValueDeepCopy(const QScriptValue &iValue) |
QVariantMap | simpleXml2Map(const QString &iStr, const QString &iKeyCaseStr = QString( "" ), TError *oErr = NULL) |
QVariant | size2Variant(const QSize &iSize, const QString &iFormat = "x") |
QVariant | sizef2Variant(const QSizeF &iSize, const QString &iFormat = "x") |
QVariantList | sqlArrayData2MapList(const QVariantMap &iDataVarMap) |
QColor | str2Color(const QString &iStr) |
QStringList | strCapDollar(const QString &iStr) |
QString | strEscapeXml(const QString &iStr) |
bool | strIsInteger(const QString &iStr) |
bool | strIsNumber(const QString &iStr) |
QString | strReplaceDollar(const QString &iStr, const QVariantMap &iArgValuesVarMap) |
QString | stringList2Csv(const QStringList &iStrList) |
QVariantMap | stringList2VariantMap(const QStringList &iStrLst) |
QVariantMap | stringMap2VariantMap(QMap<QString, QString> iData) |
QString | txt2rtf(const QString &iTxtStr) |
double | valueFromInch(double iValueDbl, const QString &iUnitsStr) |
double | valueToInch(double iValueDbl, const QString &iUnitsStr) |
QString | variant2JsonStr(const QVariant &iVariantVar, bool iCompactBol = false) |
QMargins | variant2Margins(const QVariant &iVar) |
QMarginsF | variant2MarginsF(const QVariant &iVar) |
QPoint | variant2Point(const QVariant &iVar) |
QPointF | variant2PointF(const QVariant &iVar) |
QRect | variant2Rect(const QVariant &iVar) |
QRectF | variant2RectF(const QVariant &iVar) |
QScriptValue | variant2ScriptValue(const QVariant &iVariant, QScriptEngine *iEngine) |
QSize | variant2Size(const QVariant &iVar) |
QSizeF | variant2SizeF(const QVariant &iVar) |
QVariantMap | variantList2Map(const QVariantList &iVarLst) |
QStringList | variantList2StringList(const QVariantList &iVarList) |
QMap<QString, QString> | variantMap2StringMap(QVariantMap iData) |
QVariant | xmlStr2Variant(const QString &iStreamStr, const QStringList &iFlagStrLst = QStringList(), const QString &iRootFlagStr = QString( "" ), const QString &iTextFlagStr = QString( "_DOM_TEXT_" ), const QVariantMap &iOptionVarMap = QVariantMap()) |
Detailed Description
TDataParse数据解析类。 负责解析各种格式的数据,并做解析错误分析。
Member Function Documentation
[static]
QString TDataParse::aesCrypt(int iLevel, int iMode, const QString &iRawText, const QString &iKey, const QVariantMap &iParams = QVariantMap())
AES加密 iLevel 0/1/2 对应AES_128/AES_192/AES_256 iMode 0/1/2/3 对应ECB/CBC/CFB/OFB iRawText 原始字符串 iKey 密码 iParams 其他参数 {} text_type 输出格式 0/1/2 对应 Base64/Base64(Url)/Hex iv initialisation-vector (iv.size is 128 bits (16 Bytes)) padding_type 0/1/2 对应ZERO/PKCS7/ISO
[static]
QString TDataParse::aesDecrypt(int iLevel, int iMode, const QString &iRawText, const QString &iKey, const QVariantMap &iParams = QVariantMap())
[static]
QString TDataParse::aesExpandKey(int iLevel, int iMode, const QString &iKey, bool isEncryptionKey)
[static]
QString TDataParse::aesRemovePadding(const QString &iRawText, int iPaddingType = 2)
[static]
bool TDataParse::barcode2File(const QString &iBarStr, const QString &iFilename, const QVariantMap &iParams = QVariantMap())
*
生成条形码,保存为图片 * iStr 字符串 * iPath 图片路径 * iParam 参数
\\ 参数取自zint_symbol结构,部分未支持 struct zint_symbol { int symbology; int height; int whitespace_width; int border_width; int output_options; char fgcolour[10]; char *fgcolor; // pointer to fgcolour char bgcolour[10]; char *bgcolor; // pointer to bgcolour char outfile[256]; float scale; int option_1; int option_2; int option_3; int show_hrt; int fontsize; int input_mode; int eci; unsigned char text[128]; // UTF-8 int rows; int width; char primary[128]; unsigned char encoded_data[200][143]; int row_height[200]; // Largest symbol is 189 x 189 Han Xin char errtxt[100]; unsigned char *bitmap; int bitmap_width; int bitmap_height; unsigned char *alphamap; unsigned int bitmap_byte_length; float dot_size; struct zint_vector *vector; struct zint_render *rendered; int debug; }; // symbology // Tbarcode 7 codes #define BARCODE_CODE11 1 #define BARCODE_C25STANDARD 2 #define BARCODE_C25MATRIX 2 // Legacy #define BARCODE_C25INTER 3 #define BARCODE_C25IATA 4 #define BARCODE_C25LOGIC 6 #define BARCODE_C25IND 7 #define BARCODE_CODE39 8 #define BARCODE_EXCODE39 9 #define BARCODE_EANX 13 #define BARCODE_EANX_CHK 14 #define BARCODE_GS1_128 16 #define BARCODE_EAN128 16 // Legacy #define BARCODE_CODABAR 18 #define BARCODE_CODE128 20 #define BARCODE_DPLEIT 21 #define BARCODE_DPIDENT 22 #define BARCODE_CODE16K 23 #define BARCODE_CODE49 24 #define BARCODE_CODE93 25 #define BARCODE_FLAT 28 #define BARCODE_DBAR_OMN 29 #define BARCODE_RSS14 29 // Legacy #define BARCODE_DBAR_LTD 30 #define BARCODE_RSS_LTD 30 // Legacy #define BARCODE_DBAR_EXP 31 #define BARCODE_RSS_EXP 31 // Legacy #define BARCODE_TELEPEN 32 #define BARCODE_UPCA 34 #define BARCODE_UPCA_CHK 35 #define BARCODE_UPCE 37 #define BARCODE_UPCE_CHK 38 #define BARCODE_POSTNET 40 #define BARCODE_MSI_PLESSEY 47 #define BARCODE_FIM 49 #define BARCODE_LOGMARS 50 #define BARCODE_PHARMA 51 #define BARCODE_PZN 52 #define BARCODE_PHARMA_TWO 53 #define BARCODE_PDF417 55 #define BARCODE_PDF417COMP 56 #define BARCODE_PDF417TRUNC 56 // Legacy #define BARCODE_MAXICODE 57 #define BARCODE_QRCODE 58 #define BARCODE_CODE128B 60 #define BARCODE_AUSPOST 63 #define BARCODE_AUSREPLY 66 #define BARCODE_AUSROUTE 67 #define BARCODE_AUSREDIRECT 68 #define BARCODE_ISBNX 69 #define BARCODE_RM4SCC 70 #define BARCODE_DATAMATRIX 71 #define BARCODE_EAN14 72 #define BARCODE_VIN 73 #define BARCODE_CODABLOCKF 74 #define BARCODE_NVE18 75 #define BARCODE_JAPANPOST 76 #define BARCODE_KOREAPOST 77 #define BARCODE_DBAR_STK 79 #define BARCODE_RSS14STACK 79 // Legacy #define BARCODE_DBAR_OMNSTK 80 #define BARCODE_RSS14STACK_OMNI 80 // Legacy #define BARCODE_DBAR_EXPSTK 81 #define BARCODE_RSS_EXPSTACK 81 // Legacy #define BARCODE_PLANET 82 #define BARCODE_MICROPDF417 84 #define BARCODE_USPS_IMAIL 85 #define BARCODE_ONECODE 85 // Legacy #define BARCODE_PLESSEY 86 // Tbarcode 8 codes #define BARCODE_TELEPEN_NUM 87 #define BARCODE_ITF14 89 #define BARCODE_KIX 90 #define BARCODE_AZTEC 92 #define BARCODE_DAFT 93 #define BARCODE_DPD 96 #define BARCODE_MICROQR 97 // Tbarcode 9 codes #define BARCODE_HIBC_128 98 #define BARCODE_HIBC_39 99 #define BARCODE_HIBC_DM 102 #define BARCODE_HIBC_QR 104 #define BARCODE_HIBC_PDF 106 #define BARCODE_HIBC_MICPDF 108 #define BARCODE_HIBC_BLOCKF 110 #define BARCODE_HIBC_AZTEC 112 // Tbarcode 10 codes #define BARCODE_DOTCODE 115 #define BARCODE_HANXIN 116 // Tbarcode 11 codes #define BARCODE_MAILMARK 121 // Zint specific #define BARCODE_AZRUNE 128 #define BARCODE_CODE32 129 #define BARCODE_EANX_CC 130 #define BARCODE_GS1_128_CC 131 #define BARCODE_EAN128_CC 131 // Legacy #define BARCODE_DBAR_OMN_CC 132 #define BARCODE_RSS14_CC 132 // Legacy #define BARCODE_DBAR_LTD_CC 133 #define BARCODE_RSS_LTD_CC 133 // Legacy #define BARCODE_DBAR_EXP_CC 134 #define BARCODE_RSS_EXP_CC 134 // Legacy #define BARCODE_UPCA_CC 135 #define BARCODE_UPCE_CC 136 #define BARCODE_DBAR_STK_CC 137 #define BARCODE_RSS14STACK_CC 137 // Legacy #define BARCODE_DBAR_OMNSTK_CC 138 #define BARCODE_RSS14_OMNI_CC 138 // Legacy #define BARCODE_DBAR_EXPSTK_CC 139 #define BARCODE_RSS_EXPSTACK_CC 139 // Legacy #define BARCODE_CHANNEL 140 #define BARCODE_CODEONE 141 #define BARCODE_GRIDMATRIX 142 #define BARCODE_UPNQR 143 #define BARCODE_ULTRA 144 #define BARCODE_RMQR 145 // Output options #define BARCODE_NO_ASCII 1 #define BARCODE_BIND 2 #define BARCODE_BOX 4 #define BARCODE_STDOUT 8 #define READER_INIT 16 #define SMALL_TEXT 32 #define BOLD_TEXT 64 #define CMYK_COLOUR 128 #define BARCODE_DOTTY_MODE 256 #define GS1_GS_SEPARATOR 512 // Input data types #define DATA_MODE 0 #define UNICODE_MODE 1 #define GS1_MODE 2 #define ESCAPE_MODE 8
[static]
QVariantMap TDataParse::commandStr2Map(const QString &iComStr, const QString &iKeyCaseStr = QString( "" ), TError *oErr = NULL)
将一个COMMAND命令字符串转化成一个QHASH结构,err为传入错误类指针。
[static]
QStringList TDataParse::csvLine2List(const QString &iStr, TError *oErr = NULL)
解析csv文件的字符串,返回解析到的第一行
[static]
QList<QStringList> TDataParse::csvStr2List(const QString &iStr, TError *oErr = NULL)
解析csv文件的字符串,每一行为一个QStringList
[static]
QString TDataParse::decodeBase64(const QString &iStr)
对一个字符串进行Base64解码
[static]
QString TDataParse::decryptBase64(const QString &iStr)
将一个基于Base64加密的字符串进行解急,返回一个解密后的字符串。
[static]
bool TDataParse::dmcode2File(const QString &iDmStr, const QString &filename, const QVariantMap ¶ms = QVariantMap())
*
* iDmStr 编码内容 * filename 文件绝对路径 * params 格式设置参数 * | format | 设置编码格式 | * | margin_size | 设置图形边框宽度 | * | module_size | 设置基本图形的大小 |
[static]
QString TDataParse::encodeBase64(const QString &iStr)
对一个字符串进行Base64编码
[static]
QString TDataParse::encryptBase64(const QString &iStr)
将一个字符串进行基于Base64的加急,返回一个加密后的字符串。
[static]
QString TDataParse::fetchEnumText(const QVariantList &iItems, const QStringList &iValues, const QString &iSeparator = ",")
获取name对应的text值,如果text为空,那么返回name的值。 iSeparator 为分隔符。
QVariantList tmp1 = { QVariantMap{{"name", "name1"}, {"text", "text1"}}, QVariantMap{{"name", "name2"}, {"text", ""}} }; QStringList tmp2; tmp2 << "name1" << "name2"; TDataParse::fetchEnumText(tmp1, tmp2, "#");// QString("text1#name2")
[static]
QVariantList TDataParse::fetchVariantListField(const QVariantList &iVarLst, const QString &iMapKeyStr)
在QList<VariantMap>中查找iMapKeyStr的项。
QVariantList list; list.append(QVariantMap{ {"a","1"}, {"b","2"} }); list.append(QVariantMap{ {"a","11"}, {"b","22"} }); TDataParse::fetchVariantListField(list, "a");//["1", "11"]
[static]
QVariantMap TDataParse::fetchVariantMapField(const QVariantMap &iVarMap, const QStringList &iFieldsStrLst, bool iKeepNoneExistsKeyBol = false)
筛选map中的项。
QVariantMap map { {"a","1"}, {"b","2"}, {"c","3"} }; QStringList keyList; keyList << "b" << "c" << "d"; TDataParse::fetchVariantMapField(map, keyList);\\{"b":"2","c":"3"} TDataParse::fetchVariantMapField(map, keyList, true);\\{"b":"2","c":"3","d":null}
[static]
QVariantMap TDataParse::fetchVariantMapField(const QVariantMap &iVarMap, const QString &iFieldsStr, bool iKeepNoneExistsKeyBol = false)
筛选map中的项。
QVariantMap map { {"a","1"}, {"b","2"}, {"c","3"} }; QString keyList = "b,c,d"; TDataParse::fetchVariantMapField(map, keyList);//QMap(("b", QVariant(QString, "2"))("c", QVariant(QString, "3"))) TDataParse::fetchVariantMapField(map, keyList, true);//QMap(("b", QVariant(QString, "2"))("c", QVariant(QString, "3"))("d", QVariant(Invalid)))
[static]
QString TDataParse::getUuid()
[static]
QString TDataParse::getVariantMd5(const QVariant &iVariantVar)
获取一个值的md5。
[static]
QVariantMap TDataParse::groupBy(const QVariantList &iVarLst, const QString &iKey)
*
将iVarLst根据iKey对应的value值来进行分组 *
QVariantList list; list.append(QVariantMap{ {"a","1"}, {"b","2"} }); list.append(QVariantMap{ {"a","11"}, {"b","22"} }); TDataParse::groupBy(list, "a");//[{"1": [{"a": "1", "b":"2"}], "11": [{"a": "11", "b":"22"}]]
[static]
QVariantList TDataParse::headerItem2searchList(const QVariantList &iVarList, const QString &iKeyStr = QString( "search" ), const QString &iCaseSensitivityKeyStr = QString( "caseSensitive" ))
从TableView或TreeView的HeaderItem列表提取Search List。
[static]
QVariant TDataParse::hoconFiles2Variant(const QStringList &iHoconFileNames, TError *oErr = nullptr)
将Hocon文件列表依次覆盖转为QVariant
[static]
QString TDataParse::hoconStr2JsonStr(const QString &iHoconStr, bool iCompactBol = false, TError *oErr = nullptr)
将HOCON格式的字符串转为JSON字符串
[static]
QVariant TDataParse::hoconStr2Variant(const QString &iHoconStr, TError *oErr = nullptr)
将HOCON格式的字符串转为QVariant
[static]
QVariant TDataParse::jsonStr2Variant(const QString &iStr, TError *oErr = NULL)
将一个JSON格式的字符串转换成一个QVariant对象,err为传入错误类指针。
[static]
double TDataParse::lengthValueConvert(const QString &iValueStr, const QString &iToUnits, int iPrecision = -1)
单位转换。iUnitsStr支持的格式有:mm(毫米),mil(毫寸),um(微米),in/inch(英寸)。
QString str = "26mm"; TDataParse::lengthValueConvert(str, "in", 2);//1.02
[static]
QVariant TDataParse::margins2Variant(const QMargins &iMargin, const QString &iFormat = "map")
将QMargins格式转换为QString 或 QVariantMap。 iFormat 为转换结果的格式,取值要求:转换为大写后值为"STRING" 或 "MAP"。
TDataParse::margins2Variant(QMargins(1, 2, 3, 4), "String");//QVariant(QString, "left:1, top:2, right:3, bottom:4") TDataParse::margins2Variant(QMargins(1, 2, 3, 4), "Map"); //QVariant(QVariantMap, QMap(("bottom", QVariant(int, 4))("left", QVariant(int, 1))("right", QVariant(int, 3))("top", QVariant(int, 2))))
See also variant2Margins().
[static]
QVariant TDataParse::marginsf2Variant(const QMarginsF &iMargin, const QString &iFormat = "map")
将QMarginsF格式转换为QString 或 QVariantMap。 iFormat 为转换结果的格式,取值要求:转换为大写后值为"STRING" 或 "MAP"。
TDataParse::marginsf2Variant(QMarginsF(1.1, 2.1, 3.1, 4.1), "String");//QVariant(QString, "left:1.1, top:2.1, right:3.1, bottom:4.1") TDataParse::marginsf2Variant(QMarginsF(1, 2, 3, 4), "Map"); //QVariant(QVariantMap, QMap(("bottom", QVariant(double, 4))("left", QVariant(double, 1))("right", QVariant(double, 3))("top", QVariant(double, 2))))
See also variant2MarginsF().
[static]
QScriptValue TDataParse::mergeScriptValue(const QScriptValue &iSv1, const QScriptValue &iSv2)
合并两个QScriptValue。要求要合并的值不能为数组。
QScriptEngine myEngine; QScriptValue myObject = myEngine.newObject(); myObject.setProperty("a", "1"); myObject.setProperty("b", "2"); QScriptValue myObject2 = myEngine.newObject(); myObject2.setProperty("b", "3"); myObject2.setProperty("c", "4"); myObject2.setProperty("e", ""); qDebug()<<TDataParse::mergeScriptValue(myObject, myObject2).toVariant(); //QVariant(QVariantMap, QMap(("a", QVariant(QString, "1"))("b", QVariant(QString, "3"))("c", QVariant(QString, "4"))("e", QVariant(QString, ""))))
[static]
QVariantMap TDataParse::mergeVariantMap(const QVariantMap &iMap1, const QVariantMap &iMap2, bool iIgnoreEmptyValue = false)
将 iMap2 插入到 iMap1。插入的 iMap2 的值将会覆盖 iMap1 中相同key的值。 iIgnoreEmptyValue 为是否忽略空值,如果为true,那么value为空的项不会显示。
QVariantMap tmp1 = { {"a", "1"}, {"b", "2"} }; QVariantMap tmp2 = { {"b", "3"}, {"c", "4"}, {"d", ""} }; TDataParse::mergeVariantMap(tmp1, tmp2, true); //QMap(("a", QVariant(QString, "1"))("b", QVariant(QString, "3"))("c", QVariant(QString, "4")))
[static]
QString TDataParse::numberToRoman(int iNum)
数字转罗马数字。
int num = 53; TDataParse::numberToRoman(num);//LIII
[static]
QString TDataParse::parseRtf(const QString &iFileName, const QString &iDstDir = QString( "" ), const QVariantMap &iOptions = QVariantMap(), TError *oErr = nullptr)
解析RTF文件 iFileName 到iDstDir 目录,返回存放txt和图片的目录 若没有指定iDstDir, 将默认解析到系统的临时目录下
QString path = TDataParse::parseRtf("D:/1.rtf"); // 默认解析到系统临时目录 TError err; QString path = TDataParse::parseRtf("D:/1.rtf", "D:/tmp/", QVariantMap { { "ignore_pict", true } }, &err ); // 解析到指定目录,忽略图片
[static]
double TDataParse::pixel2point(int iPixel)
像素转换为点数
See also point2pixel().
[static]
QVariant TDataParse::point2Variant(const QPoint &iPoint, const QString &iFormat = ",")
将QPoint格式转换为QString 或 QVariantMap。 iFormat 为转换结果的格式,取值要求:"," 或 转换为大写后值为"MAP"。
TDataParse::point2Variant(QPoint(1,2), ",");//QVariant(QString, "1,2") TDataParse::point2Variant(QPoint(1,2), "map");//QVariant(QVariantMap, QMap(("x", QVariant(int, 1))("y", QVariant(int, 2))))
See also variant2Point().
[static]
int TDataParse::point2pixel(double iPoint)
点数转换为像素
See also pixel2point().
[static]
QVariantMap TDataParse::pointSizeOfString(const QString &iText, const QVariantMap &iFontStyle)
根据fontstyle设置,获取字符串的宽度、高度
[static]
QVariant TDataParse::pointf2Variant(const QPointF &iPoint, const QString &iFormat = ",")
将QPointF格式转换为QString 或 QVariantMap。 iFormat 为转换结果的格式,取值要求:"," 或 转换为大写后值为"MAP"。
TDataParse::pointf2Variant(QPointF(1.11,2.11), ",");//QVariant(QString, "1.11,2.11") TDataParse::pointf2Variant(QPointF(1.11,2.11), "Map");//QVariant(QVariantMap, QMap(("x", QVariant(double, 1.11))("y", QVariant(double, 2.11))))
See also variant2PointF().
[static]
bool TDataParse::qrcode2File(const QString &iQrStr, const QString &iPath, const QString &iName, int size = 400)
iQrStr 用于生成二维码的字符串 iPath 保存编码后图片的路径 iFile 图片的文件名 size 保存图片的大小
[static]
bool TDataParse::qrcode2FileEx(const QString &iQrStr, const QString &filename, const QVariantMap ¶ms = QVariantMap())
iQrStr 用于生成二维码的字符串 filename 保存编码后图片的路径 params 其他参数,{"size": 400, "margin": 2, "ec_level": "L/M/Q/H"}
[static]
QVariant TDataParse::rect2Variant(const QRect &iRect, const QString &iFormat = "map")
将QRect格式转换为QString 或 QVariantMap。 iFormat 为转换结果的格式,取值要求:转换为大写后值为"STRING" 或 "MAP"。
TDataParse::rect2Variant(QRect(QPoint(0,0), QPoint(4,4)), "String");//QVariant(QString, "x1:0, y1:0, x2:4, y2:4, width:5, height:5") TDataParse::rect2Variant(QRect(QPoint(0,0), QPoint(4,4)), "Map"); //QVariant(QVariantMap, QMap(("height", QVariant(int, 5))("width", QVariant(int, 5))("x", QVariant(int, 0))("y", QVariant(int, 0))))
See also variant2Rect().
[static]
QVariant TDataParse::rectf2Variant(const QRectF &iRect, const QString &iFormat = "map")
将QRect格式转换为QString 或 QVariantMap。 iFormat 为转换结果的格式,取值要求:转换为大写后值为"STRING" 或 "MAP"。
TDataParse::rectf2Variant(QRectF(1.1, 2.2, 3.3, 4.4), "String");//QVariant(QString, "x1:1.1, y1:2.2, x2:4.4, y2:6.6, width:3.3, height:4.4") TDataParse::rectf2Variant(QRectF(1.1, 2.2, 3.3, 4.4), "Map"); //QVariant(QVariantMap, QMap(("height", QVariant(double, 4.4))("width", QVariant(double, 3.3))("x", QVariant(double, 1.1))("y", QVariant(double, 2.2))))
See also variant2RectF().
[static]
QVariantMap TDataParse::removeVariantMapEmptyItem(const QVariantMap &iDataVarMap)
移除map中为空的项。
QVariantMap map { {"a","a_value"}, {"b",QVariant()} }; TDataParse::removeVariantMapEmptyItem(map);//{"a":"a_value"}
[static]
QVariantMap TDataParse::replaceVariantMapEmptyItem(const QVariantMap &iDataVarMap, const QVariant &iReplaceToVar = QVariant())
替换map中为空的项。
QVariantMap map { {"a","a_value"}, {"b",QVariant()} }; TDataParse::replaceVariantMapEmptyItem(map,"replace_value");//{"a":"a_value","b":"replace_value"}
[static]
int TDataParse::romanToNumber(const QString &iRoman)
罗马数字转数字。
QString str = "VI"; TDataParse::romanToNumber(str);//6
[static]
QString TDataParse::rtf2txt(const QString &iRtfStr)
rtf格式转换为txt格式。
[static]
QScriptValue TDataParse::scriptValueDeepCopy(const QScriptValue &iValue)
深拷贝。
[static]
QVariantMap TDataParse::simpleXml2Map(const QString &iStr, const QString &iKeyCaseStr = QString( "" ), TError *oErr = NULL)
将一个简单的XML字符串转化成一个QMAP结构,err为传入错误类指针。
See also QMap().
[static]
QVariant TDataParse::size2Variant(const QSize &iSize, const QString &iFormat = "x")
将QSize类型的变量装换成 QString 或 QVariantMap的形式。 iFormat 为转换结果的格式,取值要求:转换为大写后值为 "X" 或 "MAP"。
TDataParse::size2Variant(QSize(1,2), "x");//QVariant(QString, "1x2") TDataParse::size2Variant(QSize(1,2), "map");//QVariant(QVariantMap, QMap(("height", QVariant(int, 2))("width", QVariant(int, 1))))
See also variant2Size().
[static]
QVariant TDataParse::sizef2Variant(const QSizeF &iSize, const QString &iFormat = "x")
将QSizeF类型的变量装换成 QString 或 QVariantMap的形式。 iFormat 为转换结果的格式,取值要求:转换为大写后值为"MAP" 或 "X"。
TDataParse::sizef2Variant(QSizeF(1.1, 2.2), "x");//QVariant(QString, "1.1x2.2") TDataParse::sizef2Variant(QSizeF(1.1, 2.2), "Map");//QVariant(QVariantMap, QMap(("height", QVariant(double, 2.2))("width", QVariant(double, 1.1))))
See also variant2SizeF().
[static]
QVariantList TDataParse::sqlArrayData2MapList(const QVariantMap &iDataVarMap)
数据格式转换。
QVariantList data; data.append(QVariant(QVariantList()<<"a1"<<"b1")); data.append(QVariant(QVariantList()<<"a2"<<"b2")); QVariantMap map { {"data",data}, {"field",QVariantList()<<"a"<<"b"} }; TDataParse::sqlArrayData2MapList(map);//[{"a":"a1","b":"b1"},{"a":"a2","b":"b2"}]
[static]
QColor TDataParse::str2Color(const QString &iStr)
字符串转QColor。
QString str = "#111111"; TDataParse::str2Color(str);
[static]
QStringList TDataParse::strCapDollar(const QString &iStr)
提取字符串中的变量。
QString str = "{\"a\":${p1},\"b\":${p2}}"; TDataParse::strCapDollar(str);//["p1","p2"]
[static]
QString TDataParse::strEscapeXml(const QString &iStr)
xml字符串转义。XML5个转义符 < > & " \ 的转义字符分别如下: < >& " '
QString str = "<!--?xml version=\"1.0\" encoding=\"UTF-8\"?-->"; TDataParse::strEscapeXml(str);//<!--?xmlversion="1.0"encoding="UTF-8"?-->
[static]
bool TDataParse::strIsInteger(const QString &iStr)
判断字符串是否为整数。
QString str = "1"; TDataParse::strIsInteger(str);//true str = "1.1"; TDataParse::strIsInteger(str);//false
[static]
bool TDataParse::strIsNumber(const QString &iStr)
判断字符串是否为数字。
QString str = "1"; TDataParse::strIsNumber(str);//true str = "1.1"; TDataParse::strIsNumber(str);//true
[static]
QString TDataParse::strReplaceDollar(const QString &iStr, const QVariantMap &iArgValuesVarMap)
替换字符串中的变量。
QString str = "{\"a\":${p1},\"b\":${p2}}"; QVariantMap valueMap { {"p1",1}, {"p2",2} }; TDataParse::strReplaceDollar(str, valueMap);//{"a":1,"b":2}
[static]
QString TDataParse::stringList2Csv(const QStringList &iStrList)
将QStringList转为一个csv文件格式的字符串
[static]
QVariantMap TDataParse::stringList2VariantMap(const QStringList &iStrLst)
将StringList转为Map。
QStringList list; list<<"a"<<"1"<<"b"<<"2"; TDataParse::stringList2VariantMap(list);//{"a":"1", "b":"2"}
[static]
QVariantMap TDataParse::stringMap2VariantMap(QMap<QString, QString> iData)
QMap<QString, QString>转QVariantMap。
QMap<QString, QString> dataMap { {"a","1"}, {"b","2"} }; TDataParse::stringMap2VariantMap(dataMap);//QMap(("a", QVariant(QString, "1"))("b", QVariant(QString, "2")))
See also variantMap2StringMap().
[static]
QString TDataParse::txt2rtf(const QString &iTxtStr)
txt格式转换为rtf格式。
[static]
double TDataParse::valueFromInch(double iValueDbl, const QString &iUnitsStr)
将英寸转为其它数值。 iUnitsStr支持的格式有:mm(毫米),mil(毫寸),micron/um(微米),sq_mm(平方毫米),sq_mil(平方毫寸),sq_micron/sq_um(平方微米)
[static]
double TDataParse::valueToInch(double iValueDbl, const QString &iUnitsStr)
将一个数值转为英寸。 iUnitsStr支持的格式有:mm(毫米),mil(毫寸),micron/um(微米),sq_mm(平方毫米),sq_mil(平方毫寸),sq_micron/sq_um(平方微米)
[static]
QString TDataParse::variant2JsonStr(const QVariant &iVariantVar, bool iCompactBol = false)
将一个QVariant转为json字符串。
TDataParse::variant2JsonStr(QVariantMap{{"a","1"},{"b","2"}}); //"{\n \"a\": \"1\",\n \"b\": \"2\"\n}\n" 通过工具将结果进行格式转换 { "a": "1", "b": "2" } TDataParse::variant2JsonStr(QStringList() << "a" << "b" << "c" << "d"); //"[\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n]\n" 通过工具将结果进行格式转换 ["a", "b", "c", "d"] TDataParse::variant2JsonStr(QList<QVariant>() << QVariantMap{{"a","1"},{"b","2"}} << QVariantMap{{"a","1"},{"b","2"}}); //"[\n {\n \"a\": \"1\",\n \"b\": \"2\"\n },\n {\n \"a\": \"1\",\n \"b\": \"2\"\n }\n]\n" 通过工具将结果进行格式转换 [{ "a": "1", "b": "2" }, { "a": "1", "b": "2" } ]
[static]
QMargins TDataParse::variant2Margins(const QVariant &iVar)
将输入值转换为QMargins格式。
TDataParse::variant2Margins(QVariantMap{{"bottom", "1"},{"left", "2"},{"right", "3"},{"top", "4"}});//QMargins(2, 4, 3, 1)
See also margins2Variant().
[static]
QMarginsF TDataParse::variant2MarginsF(const QVariant &iVar)
将输入值转化为MarginsF格式。
TDataParse::variant2MarginsF(QVariantMap{{"bottom", "1.1"},{"left", "2.1"},{"right", "3.1"},{"top", "4.1"}});//QMarginsF(2.1, 4.1, 3.1, 1.1)
See also marginsf2Variant().
[static]
QPoint TDataParse::variant2Point(const QVariant &iVar)
将输入值转化为QPoint格式。
TDataParse::variant2Point("1, 2");//QPoint(1,2) TDataParse::variant2Point(QPointF(1,2));//QPoint(1,2) TDataParse::variant2Point(QPoint(1,2));//QPoint(1,2) TDataParse::variant2Point(QVariantMap{{"x", "2"},{"y", "1"}});//QPoint(2,1)
See also point2Variant().
[static]
QPointF TDataParse::variant2PointF(const QVariant &iVar)
将输入值转化为PointF格式。
TDataParse::variant2PointF("1.11,2.11");/QPointF(1.11,2.11) TDataParse::variant2PointF(QPointF(1.11,2.11));//QPointF(1.11,2.11) TDataParse::variant2PointF(QPoint(1.11,2.11));//QPointF(1,2) TDataParse::variant2PointF(QVariantMap{{"x", "2.11"},{"y", "1.11"}});//QPointF(2.11,1.11)
See also pointf2Variant().
[static]
QRect TDataParse::variant2Rect(const QVariant &iVar)
将输入值转化为QRect格式。
TDataParse::variant2Rect(QVariantMap{{"x", "0"},{"y", "0"},{"width", "3"},{"height", "4"}});//QRect(0,0 3x4)
See also rect2Variant().
[static]
QRectF TDataParse::variant2RectF(const QVariant &iVar)
将输入值转化为QRect格式。
TDataParse::variant2RectF(QVariantMap{{"x", "1.1"},{"y", "1.1"},{"width", "3.1"},{"height", "4.1"}});//QRectF(1.1,1.1 3.1x4.1)
See also rectf2Variant().
[static]
QScriptValue TDataParse::variant2ScriptValue(const QVariant &iVariant, QScriptEngine *iEngine)
将QVariant转换为QScriptValue。
QScriptEngine myEngine; TDataParse::variant2ScriptValue(QVariantMap{{"a","1"},{"b","2"}}, &myEngine).toVariant(); //QVariant(QVariantMap, QMap(("a", QVariant(QString, "1"))("b", QVariant(QString, "2")))) TDataParse::variant2ScriptValue(QVariantList{"a","b","c"}, &myEngine).toVariant(); //QVariant(QVariantList, (QVariant(QString, "a"), QVariant(QString, "b"), QVariant(QString, "c"))) TDataParse::variant2ScriptValue(true, &myEngine).toVariant();//QVariant(bool, true) TDataParse::variant2ScriptValue(1.11, &myEngine).toVariant();//QVariant(double, 1.11) TDataParse::variant2ScriptValue(2, &myEngine).toVariant();//QVariant(double, 2)
[static]
QSize TDataParse::variant2Size(const QVariant &iVar)
将输入值转化为QSize格式。
TDataParse::variant2Size("1x2");//QSize(1, 2) TDataParse::variant2Size(QVariantMap{{"height", 2},{"width",1}});//QSize(1, 2)
See also size2Variant().
[static]
QSizeF TDataParse::variant2SizeF(const QVariant &iVar)
将输入值转化为QSizeF格式。
TDataParse::variant2SizeF("1x2");//QSizeF(1, 2) TDataParse::variant2SizeF(QSizeF(1,2));//QSizeF(1, 2) TDataParse::variant2SizeF(QSize(1,2));//QSizeF(1, 2) TDataParse::variant2SizeF(QVariantMap{{"height", "2"},{"width", "1"}});//QSizeF(1, 2)
See also sizef2Variant().
[static]
QVariantMap TDataParse::variantList2Map(const QVariantList &iVarLst)
将QVariantList转为Map。
QVariantList list; list<<"a"<<"1"<<"b"<<"2"; TDataParse::variantList2Map(list);//{"a":"1", "b":"2"}
[static]
QStringList TDataParse::variantList2StringList(const QVariantList &iVarList)
TDataParse::variantList2StringList(QVariantList() << "a" << "b");//QStringList("a", "b")
[static]
QMap<QString, QString> TDataParse::variantMap2StringMap(QVariantMap iData)
QVariantMap转QMap<QString, QString>,如果QVariant不是QString则转换成" "。
QVariantMap dataMap { {"a","1"}, {"b",QStringList()<<"b1"<<"b2"} }; TDataParse::variantMap2StringMap(dataMap);//QMap(("a", "1")("b", ""))
[static]
QVariant TDataParse::xmlStr2Variant(const QString &iStreamStr, const QStringList &iFlagStrLst = QStringList(), const QString &iRootFlagStr = QString( "" ), const QString &iTextFlagStr = QString( "_DOM_TEXT_" ), const QVariantMap &iOptionVarMap = QVariantMap())
将一个XML格式的字符串转换成一个QVariant对象。 flag_list 为需转换成array的标签列表。 root_flag 为根节点的标签。 text_flag 为文本属性标签。 option 为待选属性。