我的模型为QListView
,如果我执行model->data(idx);
,则返回Qvariant
:QVariant(QString, "Colorful text")
。我的任务是编辑Colorful text
的颜色。
我想像model->setData(idx, *dunno what put here*, Qt::EditRole);
一样使用smth
我希望我需要将颜色描述放在*dunno what put here*
的位置,但我不知道如何。
你能帮助我吗?
答案 0 :(得分:0)
为了从model->data(idx)
中提取文字颜色,您使用角色Qt::ForegroundRole
作为额外的parameter来返回QVariant v
。
然后,您可以将QVariant对象值检查为整数,例如
int c = v.value<int>();
最后通过
将新的修改后的颜色设置回模型中v.setValue(c);
model->setData(idx, const QVariant & value, Qt::ForegroundRole);