+ *
+ * If the default value is of one of the following types, then the following conversion rules are applied:
+ * @li QVariant::UInt - if the string begins with "0x", base 16 is used; if the string begins with "0",
+ * base 8 is used; otherwise base 10 is used;
+ * @li QVariant::Int - base 10 is used;
+ * @li QVariant::Double - the decimal point is expecte to be '.' regardless which locale is used;
+ * @li QVariant::Bool - tries to use isTrue() and isFalse() methods; otherwise performs a conversion to QVariant::uint;
+ * @li QVariant::Char - if the string begins with "\0x", expects it to be an ASCII code in hex; if the
+ * string begins with "\0", expects it to be an ASCII code in oct; otherwise uses the first character in the string;