QTableView上的边框和文本qss设置

时间:2016-02-23 12:26:47

标签: c++ css qt qtstylesheets

我试图这样做: enter image description here

但我在QTableView中设置了样式表:

QTableView {
    gridline-color: black;
    background-color: transparent;
    }
QHeaderView {background-color: transparent;

}
QHeaderView::section{
border-style: none;
border-bottom: 1px solid rgb(0,0,0);
background-color: transparent;
margin-bottom:5px;
margin-top:5px;
}
QTableView QTableCornerButton::section {
     bottom-style:none;
     border-bottom: 1px solid rgb(0,0,0);

 }

结果是:enter image description here

我可以处理尺寸问题,但是这里有两个主要问题:

1.边框之间的文字没有任何空格,我做了margin-top:5px;margin-bottom:5px;但是它改变了所有QHeaderView不仅QHeaderView的文字。 (解决方案是使用填充而不是边距

2.每行都有一个右边,左上边界。我不想那样。

我试过了:

QTableView QTableCornerButton::section {
     border-style:none;
     border-bottom: 1px solid rgb(0,0,0);

 }

不幸的是QTableCornerButton:section它有问题吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

注意:我尚未经过验证,这些只是尝试的建议,请在需要时上传输出

1 - 你是什么意思"它改变了所有QHeaderView不仅仅是QHeaderView"

也许您希望仅将余量设置为标题视图的内容(文本):在这种情况下,使用填充不是保证金。

QHeaderView::section{
/* your style */
padding-bottom:5px;
padding-top:5px;
}

2 - 每行都有一个右边,左边连上边框。我不想那样。

QTableView {
    /* sone additional style */
    gridline-color: cyan
    background-color: cyan
}

QTableView::item
{
    border-style: none;
    border-bottom: 1px solid rgb(0,0,0);
}

我会像在QHeaderView风格中那样尝试使用border-style(设置为none)。

编辑:您当然必须通过代码禁用QTableView的showgrid选项,以使其成为可行的解决方案

tableView.setShowGrid(false);