簡體   English   中英

如何在QListView中更改QString項目的顏色

[英]How to change a color of QString item in QListView

我有一個QListView模型,如果我執行model->data(idx); 它返回以下QvariantQVariant(QString, "Colorful text") 我的任務是編輯Colorful text的顏色。

我想使用像model->setData(idx, *dunno what put here*, Qt::EditRole); 我希望我需要將顏色描述替換為*dunno what put here*放置的*dunno what put here* ,但是我不知道如何。

你能幫助我嗎?

為了從model->data(idx)提取文本顏色,您可以使用角色Qt::ForegroundRole作為附加參數來返回QVariant v

然后,您可以將QVariant對象的值檢查為整數,例如使用

int c = v.value<int>();

最后,通過以下方式將新的修改后的顏色設置回模型中

v.setValue(c);
model->setData(idx, const QVariant & value, Qt::ForegroundRole);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM