【问题标题】:Qt TableView: How to get rid of the extended grey rectangle from the row headersQt TableView:如何从行标题中去除扩展的灰色矩形
【发布时间】:2015-08-05 17:34:44
【问题描述】:

如下图所示,如何去除灰色区域。看起来如果表格没有填满整个空间,灰色就一直延伸到最后。

我在 C++ 中编写了类似于此图像的代码。

【问题讨论】:

    标签: c++ qt qtableview


    【解决方案1】:

    它不仅仅是灰色,它是一个垂直的标题。在我看来,您的选择是:

    1. 摆脱 Designer 中的标题并创建自己的带有数字的列,当然不可编辑
    2. 为 QHeaderView 使用自定义样式表,例如(例如,不知道您喜欢的颜色)

      QHeaderView::section 
      {
          background-color: transparent;
          color: black;
          font: 10pt "MS Shell Dlg 2";
      }
      

      它适用于 QTableView。


    UPD:尝试以下操作:为 QHeaderView 设置样式表,如果需要,设置其部分,例如

         QHeaderView
         {
             background-color: white;
         }
    

    这会将您的标题涂成白色,而不是灰色,就像您想要的那样。然后你可以改进样式表,样式部分(可能,你会喜欢正确的边框和所有,所以不要使用“border:1px solid balck”,使用border-top和/或border-bottom,否则部分会得到丑陋的双内边框)。

    之后你可以考虑只设置一个标题或两者都设置样式,进一步改进 styleshhet,但重点仍然是 QHeaderView 及其部分可以独立设置样式

    【讨论】:

    • 我试过了,然后tableView->setStyleSheet("QHeaderView::section { /* style settings */ }"); 也遇到了同样的问题。我什至将背景颜色设置为红色,似乎只有带有数据的数据单元格变为红色,但我在问题中圈出的区域仍然是灰色的。
    • 也许,QHeaderView 本身的样式应该有帮助?重置标题背景后自己装饰部分。
    猜你喜欢
    • 2015-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多