Chinaunix首页 | 论坛 | 博客
  • 博客访问: 980754
  • 博文数量: 192
  • 博客积分: 3070
  • 博客等级: 中校
  • 技术积分: 1861
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-27 23:44
个人简介

Start Linux Leave Linux a while Back to Linux

文章分类

全部博文(192)

文章存档

2023年(18)

2022年(11)

2021年(8)

2020年(14)

2019年(7)

2018年(13)

2017年(16)

2016年(4)

2012年(2)

2011年(13)

2010年(26)

2009年(13)

2008年(27)

2007年(20)

我的朋友

分类: LINUX

2019-07-30 16:36:03

转载自: https://blog.csdn.net/lwwl12/article/details/74932565

先看效果 

QTableView样式分多个区域

整体样式
QTableView {
    color: white;                                       /*表格内文字颜色*/
    gridline-color: black;                              /*表格内框颜色*/
    background-color: rgb(108, 108, 108);               /*表格内背景色*/
    alternate-background-color: rgb(64, 64, 64);
    selection-color: white;                             /*选中区域的文字颜色*/
    selection-background-color: rgb(77, 77, 77);        /*选中区域的背景色*/
    border: 2px groove gray;
    border-radius: 0px;
    padding: 2px 4px;
}

奇偶行区分颜色样式


cpp:
view->setAlternatingRowColors(true);


qss:
QTableView{
    background-color: rgb(250, 250, 115);
    alternate-background-color: rgb(141, 163, 215);
}

水平/垂直表头 
设置表头样式
QHeaderView {
    color: white;
    font: bold 10pt;
    background-color: rgb(108, 108, 108);/*设置表头空白区域背景色*/
    border: 0px solid rgb(144, 144, 144);
    border:0px solid rgb(191,191,191);
    border-left-color: rgba(255, 255, 255, 0);
    border-top-color: rgba(255, 255, 255, 0);
    border-radius:0px;
    min-height:29px;
}

为垂直及水平表头分别设置样式 
表头为QHeaderView,水平表头和垂直表头都是QHeaderView,需要设置QTableView两个表头的ObjectName进行区分

view->horizontalHeader()->setObjectName("hHeader");
view->verticalHeader()->setObjectName("vHeader");

样式中根据不同对象名称进行样式设置


QHeaderView#hHeader::section {
    background-color:darkcyan;
    color: red;padding-left: 4px;
    border: 1px solid #6c6c6c;
    height:40;
}




QHeaderView#vHeader::section {
    background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 #616161, stop: 0.5 yellow,stop: 0.6 green, stop:1 cyan);
    color: white;padding-left: 4px;border: 1px solid #6c6c6c;
    width:30;
}


左上角空白区域 
设置完QTableView头部后,左上角区域为白色,需要为左上角区域设置样式
/*QTableView 左上角样式*/
QTableView QTableCornerButton::section {
   /*  background: red;
    border: 2px outset red;*/
    color: red;
    background-color: rgb(64, 64, 64);
    border: 5px solid #f6f7fa;
    border-radius:0px;
    border-color: rgb(64, 64, 64);
 }

表头内容区域
QHeaderView::section {
    color: white;
    background-color: rgb(64, 64, 64);
    border: 5px solid #f6f7fa;
    border-radius:0px;
    border-color: rgb(64, 64, 64);


全部样式代码:


/*QTableView 左上角样式*/
QTableView QTableCornerButton::section {
   /*  background: red;
    border: 2px outset red;*/
    color: red;
    background-color: rgb(64, 64, 64);
    border: 5px solid #f6f7fa;
    border-radius:0px;
    border-color: rgb(64, 64, 64);
 }


 QTableView {
    color: white;                                       /*表格内文字颜色*/
    gridline-color: black;                              /*表格内框颜色*/
    background-color: rgb(108, 108, 108);               /*表格内背景色*/
    alternate-background-color: rgb(64, 64, 64);
    selection-color: white;                             /*选中区域的文字颜色*/
    selection-background-color: rgb(77, 77, 77);        /*选中区域的背景色*/
    border: 2px groove gray;
    border-radius: 0px;
    padding: 2px 4px;
}


QHeaderView {
    color: white;
    font: bold 10pt;
    background-color: rgb(108, 108, 108);
    border: 0px solid rgb(144, 144, 144);
    border:0px solid rgb(191,191,191);
    border-left-color: rgba(255, 255, 255, 0);
    border-top-color: rgba(255, 255, 255, 0);
    border-radius:0px;
    min-height:29px;
}


QHeaderView::section {
    color: white;
    background-color: rgb(64, 64, 64);
    border: 5px solid #f6f7fa;
    border-radius:0px;
    border-color: rgb(64, 64, 64);

--------------------- 
作者:david大伟哥 
来源:CSDN 
原文:https://blog.csdn.net/lwwl12/article/details/74932565 
阅读(3868) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~