在Qt中设置单个样式表属性

时间:2017-01-03 23:34:01

标签: css qt

我正在尝试在QTreeView中创建垂直线;而不是像一些答案所建议的那样在线上绘画我使用样式表来修改树视图中单元格的右边框,如下所示:

ui->tripsTreeView->setStyleSheet ("QTreeView::item:!last { border-right: 0.5px solid lightgray ;}");

不幸的是,这会重置树视图上的所有其他样式表属性,使其无法使用(白色文本为白色,展开三角形为蓝色背景,自定义背景颜色消失等)。

问题:

  • 有人设法在Qt中为单个属性设置样式表吗?
  • 还是找到了提取当前应用样式表的方法?然后我会进行搜索和替换以添加/设置正确的边框。不幸的是ui->tripsTreeView->styleSheet()只返回一个空字符串(意思是它使用了deault样式表,但是 是什么默认样式表?)

1 个答案:

答案 0 :(得分:0)

如果未设置样式表,Qt将使用与OS样式匹配的样式。当您尝试更改单个属性的样式表时,控件的整个样式表将替换为默认样式表。我不确定是否可以提取默认样式表。可能会重新实现paint()功能重新实现的自定义委托。