gpt4 book ai didi

list - QVariantList.append() 合并列表而不是嵌套

转载 作者:行者123 更新时间:2023-12-04 13:46:17 25 4
gpt4 key购买 nike

当我尝试嵌套 QVariantList 时在另一个 QVariantList ,结果是两个列表的平面合并,而不是子列表。

演示代码:

QVariantList container;

QVariantList nested() << "bar" << "baz";

container.append("foo"); // or container << "foo";
container.append(nested); // or container << nested;

我得到了什么(缩进是我的):
QVariant(QVariantList,
QVariant(QString, "foo"),
QVariant(QString, "bar"),
QVariant(QString, "baz"),
)

我期望的是:
QVariant(QVariantList,
QVariant(QString, "foo"),
QVariant(QVariantList,
QVariant(QString, "bar"),
QVariant(QString, "baz")
)
)

最佳答案

自己找到了解决办法。

这是由于 QList 的 append重载:

void QList::append(const QList & value)

This is an overloaded function.

Appends the items of the value list to this list.



解决方案是使用 insert 追加项目方法:
QVariantList l;
l.insert(l.size(), QVariant());

关于list - QVariantList.append() 合并列表而不是嵌套,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34497427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com