• 10379阅读
  • 6回复

QTableView 如何修改某一行的背景色 [复制链接]

上一主题 下一主题
离线piaopiaohu12
 
只看楼主 倒序阅读 楼主  发表于: 2010-08-17
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
关键词: 没有QTableView
貌似没有可用的API,各位大虾给点指示。使用的是MODEL/VIEW模型来操作数据。。苦恼。
离线hpgh
只看该作者 1楼 发表于: 2011-02-02
和你同样的苦恼
离线landuochong
只看该作者 2楼 发表于: 2011-02-10
Delegate可以试试
离线nano
只看该作者 3楼 发表于: 2011-02-16
在model中重写data()函数当role为Qt::BackgroundColorRole, 并且行号为你要改的那一行时, 返回相应的颜色就可以了
离线songpeng
只看该作者 4楼 发表于: 2011-03-12
QVariant Table_model::data(const QModelIndex &index, int role) const
{
    if (!index.isValid())
        return QVariant();
    if(role == Qt::BackgroundColorRole){
         return(QColor(233,233,33));
        }
    }

    return QVariant();
}
认真的做我自己的事情!
离线oscarboycn

只看该作者 5楼 发表于: 2011-04-22
引用第3楼nano于2011-02-16 16:52发表的  :
在model中重写data()函数当role为Qt::BackgroundColorRole, 并且行号为你要改的那一行时, 返回相应的颜色就可以了

或者在数据源中保存当前行的颜色,以供刷新
http://www.21ic.com
http://bbs.eetop.cn
http://www.eetop.cn/
http://www.eet-china.com/
http://www.netyi.net/
http://www.pcbbbs.com/
http://www.pcbtech.net/
离线XChinux

只看该作者 6楼 发表于: 2011-05-10
重新实现data()函数,返回相应角色对应的值。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个