use template for QVariantMap and QVariantHash