gpt4 book ai didi

c++ - 将 QList 转换为 QVariant

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:02:52 29 4
gpt4 key购买 nike

类包含这个:

Q_PROPERTY(QList<double> switch1 READ switch1 WRITE setSwitch1 NOTIFY switch1Changed)

void setSwitch2(QList<double> arg)
{
if (m_switch2 != arg)
{
m_switch2 = arg;
emit switch2Changed(arg);
}
}

以下作品:

setSwitch2(QList<double>::fromVector(QVector<double>::fromStdVector(data->switch2)));

但现在我的数据类型是 QVariantList而不是 QList<double> .

我现在应该如何用 QVariant 替换 QList?

这行不通:

setSwitch1(QVariantList::fromVector(QVector<QVariant>::fromStdVector(data->switch1)));

最佳答案

只需使用这个构造函数:

QVariant::QVariant(const QList & val)

Constructs a new variant with a list value, val.

即将 QList 存储为 QVariant 时,QList 的模板类型必须是适用于 QVariant 的类型。没有其他构造函数或转换方法。

你应该这样写:

QVariant variant(
QList<double>::fromVector(QVector<double>::fromStdVector(data->switch2))
);

setSwitchVariant(variant);

关于c++ - 将 QList 转换为 QVariant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20943947/

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