• 13472阅读
  • 10回复

如何设置QTreeView某一行的背景色? [复制链接]

上一主题 下一主题
离线tenggaolong
 
只看楼主 倒序阅读 楼主  发表于: 2008-01-14
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
请问:如果何设置QTreeView某一行的背景色?用drawRow ( QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index ) const没效果...我试过多种方法都没反应...想双击某一列..就能够让背景色变成红色..找了好久.但不知怎么实现.望高人指教..
离线chencongsytu

只看该作者 1楼 发表于: 2008-01-14
重载model类中的data函数
然后处理Qt::BackgroundColorRole试试看
背景颜色我没试过,文字颜色肯定是可以的
离线tenggaolong
只看该作者 2楼 发表于: 2008-01-15
回上楼,我用setData(currentIndex(), currentIndex().data(), Qt::BackgroundColorRole);根本不起作用。重载data()?那不是用来得到data属性的吗?请说明白一点点。给多点提示。
离线foxyz

只看该作者 3楼 发表于: 2008-01-17
这样!你试试setStyleSheet!
代码差不多这样!
QString styleSheet;
styleSheet = "QTreeView::branch {selection-color: yellow;"
                      "                                      background-color: blue;}"
myTreeView->setStyleSheet(styleSheet);
离线foxyz

只看该作者 4楼 发表于: 2008-01-17
另外,要么你就用QTreeWidgetItem和相关的view,model
QTreeWidgetItem有background和forground的property
离线foxyz

只看该作者 5楼 发表于: 2008-01-17
QT的styleSheet功能很强大的!你看看相关的技术手册!很好用
离线tenggaolong
只看该作者 6楼 发表于: 2008-01-20
感谢各位回复..特别感谢 foxyz  呵呵..虽然没有用你的方法..但你的方法也是一种很好的方法..谢谢!
离线lazybone
只看该作者 7楼 发表于: 2008-10-27
楼主贴上解决办法啊 呵呵 等着学习呢
离线txy2008msn
只看该作者 8楼 发表于: 2008-12-25
楼主可以贴处解决拌饭嘛
离线huha2018
只看该作者 9楼 发表于: 2009-12-01
楼主我恨你 你不贴出解决方法 太自私了!
离线hover_sky

只看该作者 10楼 发表于: 2009-12-02
引用第9楼huha2018于2009-12-01 11:22发表的  :
楼主我恨你 你不贴出解决方法 太自私了!


恨的好
快速回复
限100 字节
 
上一个 下一个