我知道如何将包含QVariant
的{{1}}转换为QString
:
How can I convert QVariant to QString and vice versa in Qt?
我想问的是如何将任何QString
转换为QVariant
?即使我的QString
对象有QVariant
,是否可以轻松将其转换为int
?
答案 0 :(得分:6)
您可以将QVariant::toString
用于方法documentation中列出的类型。
int value = 1;
QString s = QVariant(value).toString();
答案 1 :(得分:0)
您可以使用Qstring格式化
QVariant qv(1);
QString str = QString ("%1").arg(qv.toInt());
你也可以像这样更通用
if(qv.typeName() == QString("QString"))
str = QString("%1").arg(qv.toString());
else if(qv.typeName() == QString("int"));
str = QString ("%1").arg(qv.toInt());
...
或使用qv.type()
if(qv.type() == QVariant::String)
str = QString("%1").arg(qv.toString());
...