如何设置QVariant结构?

Chr*_*gou 0 c++ qt

我的QList结构包含QVariant:

typedef struct EXTRA_PARAMS_DEF {
    QString name;
    QVariant val;
    int channel;
} EXTRA_PARAMS;
QList<EXTRA_PARAMS> EP;
Run Code Online (Sandbox Code Playgroud)

为什么我不能QVariant用这个功能设置它?

int setParam(QVariant value)
{
    for (int i=0; i<EP.count(); i++)
    {
        EP.at(i).val = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

错误是:

错误:C2678:'='二进制':找不到运算符,接受左侧部分

'const QVariant'类型的操作没有可接受的转换

我该QVariant怎么办呢?谢谢你的想法.

pep*_*ppe 5

QList<T>::at(int)返回a const T &,您无法分配.

QList<T>::operator[]改为使用,返回一个T &

EP[i].val = value;
Run Code Online (Sandbox Code Playgroud)