情景
我有一个QList<QVariant>
,其中每个QVariant
项都应该是它自己的QList<QVariant>
。为了填充这个列表,我想使用QList::operator<<,它被重载以接受const T & value
和更专业的const QList<T> & other
。
Problem
当我运行以下代码时:
QList<QVariant> rootList;
QList<QVariant> subList = QList<QVariant>() << 1 << 2 << 3;
rootList << subList;
结果列表将如下所示:
rootList: [1, 2, 3]
相反,我希望它看起来像这样:
rootList: [[1, 2, 3]]
如何强制调用QList::operator<<
的非专用版
解决方法
我意识到有一个QList<T>
没有重载的QList::push_back函数,这就是我想要的。但是,我不想依赖一个仅“为了STL兼容性”而提供的函数。
发布于 2012-03-21 00:32:21
您可以显式地将QVariantList
转换为QVariant
rootList << (QVariant)subList;
或
rootList << QVariant(sublist);
https://stackoverflow.com/questions/9790814
复制相似问题