• 6559阅读
  • 5回复

[提问]QTableWidget修改表头颜色的代码为什么只在QMainWindow中有效? [复制链接]

上一主题 下一主题
离线tuoya220
 

只看楼主 倒序阅读 楼主  发表于: 2012-07-05
      最近做项目用到了QTableWidget,基于QWidget做的,QTableWidget的背景色,背景图片,文字颜色都可以改变,表头的字体颜色也可以改变,但是表头的颜色不能改变,在论坛看了很多高手的回答,无论是获取表头对象设置还是使用样式表设置都没效果。本来以为是不是代码无效,就做了三个demo来验证,分别是基于QMainWindow,QDialog,QWidget.只有QMainWindow中的代码实现了效果,其他两个都无效,求解啊?




ui->tableWidget->horizontalHeader()->setStyleSheet("border:2px groove gray;border-radius:10px;padding:2px 4px;background-color: rgb(170, 170, 255);font: 20pt '华文隶书';");


改成




ui->tableWidget->horizontalHeader()->setStyleSheet("QHeaderView::section{border:2px groove gray;border-radius:10px;padding:2px 4px;background-color: rgb(170, 170, 255);font: 20pt '华文隶书';}"); 就行了,结贴吧!








离线passion_wu
只看该作者 1楼 发表于: 2012-07-06
你用stylesheet也不行吗?
离线tuoya220

只看该作者 2楼 发表于: 2012-07-06
回 1楼(passion_wu) 的帖子
用样式表可以,但是在我们项目框架里面不行,继承QFrame,在里面没有效果的
离线tuoya220

只看该作者 3楼 发表于: 2012-07-06
引用第1楼passion_wu于2012-07-06 12:36发表的  :
你用stylesheet也不行吗?[图片]


算了,还是在QFrame里面加一个QWidget试试
离线foxgod

只看该作者 4楼 发表于: 2013-03-04
回 2楼(tuoya220) 的帖子
问你个问题,就是修改表头颜色后,如何让表头在鼠标点击他的时候,颜色变化,比如我原来每点击表头的时候颜色是蓝色,点击后表头颜色是红色。
离线xsjqqq123

只看该作者 5楼 发表于: 2013-03-04
我昨晚学到了样式表!试以比较笨的办法回答下您这个问题 ……

void QHeaderView::sectionClicked ( int logicalIndex ) [signal]


中重新设置点击的那个sectiron样式,sectrion是表头吧?!!


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