如果你使用的是qtablewidget就非常简单,只需要

qtablewidget->item(i,j)->setBackground(QBrush(0,0,0));

如果你的qtableview没有使用自定义模型,也是可以用的:

qtableview->item(i,j)->setBackground(const QBrush &brush)

但是当你使用自定义模型,也就是继承QAbstractTableModel
则不可以使用这些方法,当然重写model可以提升性能,自然也就少了一些方便的api
如果你只是处理小数据,使用前面2个就可以,没必要重写model
下面自定义qtablemodel看处理方法:
qt的文档里写到,自定义需要重写data方法

data的最后一个参数,就是告诉model是做什么的:

可以看到Qt::BackgroundRole就是设置背景色的。
所以在data函数中加入以下代码:

if (role == Qt::BackgroundColorRole)
{   return QColor(Qt::red);
}

这个确实会改变背景色,但是是全部的index都改变了
我只想改变某一项,比如说我有一项有问题,我项让他显示红色。
这个时候只需要加一个判断即可。

if (role == Qt::BackgroundColorRole)
{if (index.row() == m_errorRow && index.column() == m_errorCol){return QColor(Qt::red);}
}

m_errorRow和m_errorCol需要外部进行传入。

void EP_YearTestResultModel::setErrorRowAndCol(int row, int col)
{m_errorRow = row;m_errorCol = col;
}

传入值之后就会那一项index就会变成红色。
测试代码:

m_pYearResultModel->setErrorRowAndCol(5, 20);

效果图:

喜欢的记得点个赞再走,求求彦祖了,就点个赞吧

qt自定义qtablemodel实现改变item的背景色相关推荐

  1. qt tablewidget中item添加背景色

    qt tablewidget中item添加背景色 qt tablewidget中item背景色问题 void MainWindow::ReceveMsg_slot(int mode) {       ...

  2. Qt 自定义标题栏,最小化、最大化、关闭窗口,双击最大化,鼠标拖动等效果实现

    文章目录 前言 效果 代码 .pro文件 widget.h widget.cpp widget.ui title.h title.cpp title.ui 前言 本次实验内容为Qt自定义标题栏,最小化 ...

  3. Qt 自定义信号与槽

    注 对象与槽理解 //第一个参数lineEdit是激发事件对象,信号中的方法必须在对象中存在,并在对象类头文件signals下定义,//第二个参数信号,//第三个参数this是槽方法所属类的对象,且必 ...

  4. android listview设置选中时的item的背景色

    今天实在不知道写些什么内容,所以自己在网上找了些资料,觉得还可以,所以还是写一下,觉得每天写些东西的习惯不能荒废. 默认情况下使用ListView背景色是黑色,选中item的高亮颜色是菊黄色,很多时候 ...

  5. QT自定义Widget控件及其使用

    今天来给大家分享一下QT自定义widget控件及其使用,当ui设计器提供的界面不满足实际需求时,可以从QWidget继承自定义的界面组件.有两种方法一种是提升法,另一种是ui设计器自定义界面组件wid ...

  6. QT自定义精美换肤界面

    QT自定义精美换肤界面 陆陆续续用QT开发过很多项目,也用QT写过不少私活项目,也写过N个工具,一直梦寐以求能像VC一样可以很方便的有个自定义的界面,QSS的强大让我看到了很好的希望,辗转百度谷歌无数 ...

  7. 自定义类似于listView中Item背景

    自定义类似于listView中Item背景 文章分类:移动开发 方法一. drawable/listitem_bk.xml Xml代码  <?xml version="1.0" ...

  8. 改变状态栏的背景色和文字的颜色

    如果你想改变状态栏的背景色,你可以试试下边的方法: UIApplication *app = [UIApplication sharedApplication];id statusBar = [app ...

  9. QT自定义饼图的外观

    QT自定义饼图的外观 项目简介 项目技术 项目展示 主要源码片段解析 获取完整项目源码传送门 项目简介 自定义饼图的外观. 项目技术 qt5.12,qt charts模块,C++ 项目展示

  10. QT自定义图表上不同元素的外观

    QT自定义图表上不同元素的外观 项目简介 项目技术 项目展示 主要源码片段解析 获取完整项目源码传送门 项目简介 自定义图表上不同元素的外观. 项目技术 qt5.12,qt charts模块,C++ ...

最新文章

  1. 1476. Lunar Code
  2. VS2010中添加第三方库目录VC++ Directories
  3. oracle19c怎么创建Scott,Oracle db-sample-schema-19c安装(scott hr oe pm ix sh bi用户创建部署)...
  4. 数字化转型升级,人才战略是核心
  5. html选中radio隐藏div,radio类型的input标签选中后隐藏其他元素
  6. python编程神器下载_Python编程神器 -程序员必备开发手册
  7. IPython Notebook简介1
  8. Python 线程和进程和协程总结
  9. 在ServU配置ODBC过程记录(一)
  10. [zencart数据采集]第二课 火车头采集简单系统配置
  11. (3)图像处理-cv2一些函数记录
  12. 【数学题】Multicolored Markers【codeforces-Round #506-div3-F】
  13. sd卡无法完成格式化解决办法
  14. 信仰是如何毁掉程序员的
  15. Educational Codeforces Round 92 (Rated for Div. 2)题解(A-C)
  16. mysql 高并发的解决方案
  17. 25G SFP28 SR多模和LR单模光模块的介绍及区别
  18. Unity适配IOS刘海屏
  19. ss服务器多端口配置及密码设置^_^
  20. C++ 之重定义问题

热门文章

  1. POJ2074 Line of Sight
  2. if语句、逻辑表达式、运算符
  3. matlab多种显示格式一起用,[转载]MATLAB支持的几种图像文件格式
  4. could not connect to smtp host java_服务器发送邮件出现Could not connect to SMTP host错误 解决办法...
  5. 计算机导论python知识点_每个计算机学生都应该掌握什么
  6. android root 技术,android root实践
  7. java replaceall删除中括号和内容_replaceAll()如何同时替换多个不同的字符串(或多个符号)...
  8. LLVM各种格式转换图
  9. (1)I/O流对象-----FileInputStream与FileOutputStream
  10. 各种求最大公约数的函数