【问题标题】:How can I remove the "padding" of a QTabWidget?如何删除 QTabWidget 的“填充”?
【发布时间】:2017-02-15 16:35:21
【问题描述】:

我有一个QTabWidget,里面有一个QTableWidget,如下例所示:

但它在QTabWidget(图中标记为红色)中有一个“填充”(至少我认为是填充)。

如何删除或扩展 QTableWidget 以填充 QTabWidget 区域?

我使用的是 Qt 5.3。

【问题讨论】:

    标签: c++ qt qtablewidget qtabwidget


    【解决方案1】:

    试试这样的:

    tabwidget.setStyleSheet("QTabWidget::pane { 
     margin: 0px,1px,1px,1px;
     border: 2px solid #020202;
     border-radius: 7px;
     padding: 1px;
     background-color: #E6E6E3;
    }");
    

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      问题似乎与QTabWidget 的“窗格”边距有关。

      我通过在样式表上使用它解决了这个问题:

      QTabWidget::pane {
          border: 0 solid white;
          margin: -13px -9px -13px -9px;
      }
      

      【讨论】:

        【解决方案3】:

        当您将QTableWidget 放到QTabWidget 选项卡上时,您可以右键单击它(QTabWidget)并选择Lay out -> Lay out vertically(例如,或水平),这将添加一个垂直布局元素并放置您的@987654329 @ 进去,填满整个标签。然后,选择新建的verticalLayout,向下滚动到Layout部分,从这里可以控制layoutLeftMarginlayoutTopMarginlayoutRightMarginlayoutBottomMargin属性:

        将它们全部设置为 0,将为您提供所需的结果(不涉及样式表):

        【讨论】:

        • 嗨@Dmitriy,感谢您的回答。实际上,我在 QTabWidget 中添加了一个垂直布局(使用 Qt 设计中的上部布局菜单),但布局选项没有出现在我的属性编辑器中。
        • 我正在寻找类似的东西,但在您的示例中,您仍然可以清楚地看到内部框架和选项卡小部件本身之间的 1 像素边距。那么,它并没有完全删除它?
        猜你喜欢
        • 2023-03-14
        • 1970-01-01
        • 2020-07-21
        • 2017-11-20
        • 2021-07-30
        • 1970-01-01
        • 1970-01-01
        • 2017-04-23
        • 1970-01-01
        相关资源
        最近更新 更多