如何通过CSS设置QTableView单元格的填充?

Ton*_*vel 12 css c++ qt

是否可以定义QTableView单元格的填充?我希望使用CSS样式表可以实现这一点,但是文档没有描述执行此操作的方法.

以下样式表没有所需的效果:

QTableView {
  padding: 5px;
}
Run Code Online (Sandbox Code Playgroud)

因为它影响整个小部件的填充属性,而不影响单个单元格.

Ton*_*vel 14

我设法使用::item子控件说明符使其工作如下:

QTableView::item
{
  border: 0px;
  padding: 5px;
}
Run Code Online (Sandbox Code Playgroud)

请注意,在此处设置border属性是必要的.此外,这不是非常理想的,因为它似乎只影响QTableView细胞的左右填充.我现在可以忍受它了.

  • 有谁知道为什么'border:0px;' 需要做这个工作吗? (2认同)
  • QTableView注释的[Qt样式表参考页面](http://doc.qt.nokia.com/4.7-snapshot/stylesheet-reference.html)条目:`警告:如果您只在QTableCornerButton上设置背景颜色,除非将border属性设置为某个值,否则背景可能不会出现.这是因为,默认情况下,QTableCornerButton绘制一个与背景颜色完全重叠的原生边框.这里可能需要填充相同类型的要求. (2认同)
  • 对我不起作用。每次我点击另一个单元格时,文本都是不可见的,因为在它上面绘制了一个白色矩形。 (2认同)

小智 6

我知道这是一个古老的问题,但我最近一直在努力解决这个问题.

我发现通过设置

tableView->verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);

CSS中的填充集也将应用于单元格的顶部和底部!

  • 请注意,此答案适用于Qt 5.0,而不适用于版本4.x. (2认同)