如何在 Qt 中将 QVariant 转换为 QString,反之亦然?

Posted

技术标签:

【中文标题】如何在 Qt 中将 QVariant 转换为 QString,反之亦然?【英文标题】:How can I convert QVariant to QString and vice versa in Qt? 【发布时间】:2011-08-29 10:19:27 【问题描述】:

如何将 QVariant 转换为 QString,反之亦然?

谢谢

【问题讨论】:

【参考方案1】:

来自字符串:

QString qs;
QVariant qv(qs);

到字符串:

QString qs = qv.toString();

提示:阅读help 会有所帮助。

【讨论】:

toString() 不会将 QVariant 中的值作为 QString 返回,而是以更适合调试的方式描述 QVariant。我发现 QVariant::value() 或 QVariant::convert(QVariant::QString) 似乎更有帮助,因为它们返回 QVariant 中的实际值。 @LennartRolland the code example in the docs 明确声明 value<QString>()toString() 相同。他们都在内部使用canConvert()convert() @hamstergene toString() 似乎已经开始在 qt 4.8 中工作;在 qt 4.7 中,value<QString>() 有效,而 toString() 无效。因此,对于这种建议和兼容性,value<QString>() 做出了更好的一般性陈述,除非有版本限定。 @hamstergene 我认为帮助是这样的。

以上是关于如何在 Qt 中将 QVariant 转换为 QString,反之亦然?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中将字典转换为查询字符串?

Qt DBus 属性转换为地图

QT快速读取Excel

Django - 如何将 QuerySet 转换为 Q 对象?

QVariant 中的自定义类型转换为空字符串

自定义数据类型使用QVariant转换的方法