QString使用Css代码设置颜色后,怎么让这个QString在Qlistview或者QtableView中显示呢?

安培的忧伤 2020-06-06 10:51:10
例如:
我创建了一个QString a,代码如下:
QString a;
a.append(QString("<font style='background-color:#ffcccc; color:red;'>%1</font>").arg("aaa"));
ui->tableView->setShowGrid(false);
QStandardItemModel* model = new QStandardItemModel(10,1);
ui->tableView->setModel(model);
model->setItem(0, 0, new QStandardItem(a));
那怎么让他在Qtableview中显示出本有的颜色,而不是显示css代码呢?
运行后 ,只显示带有css代码的QString a 而不是有颜色的QString。
...全文
309 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
安培的忧伤 2020-06-06
  • 打赏
  • 举报
回复
哦~原来是这样啊,大佬有没有合适的链接发给我参考下写Delegate?
mideum 2020-06-06
  • 打赏
  • 举报
回复
默认的itemDelegate是不处理html的,都作为plain text显示,你想要显示html的话要自己写delegate
mideum 2020-06-06
  • 打赏
  • 举报
回复
要自己重写来显示html这个修改量是比较大的,我觉得你如果只是要修改一整个item的颜色的话,简单一点还是不要搞html了
直接用QStandardItem::setForeground和QStandardItem::setBackground就可以了
当然如果你对自定义item显示比较有兴趣的话还是可以自己搜搜itemDelegate相关的知识,还是比较复杂的

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧