You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何消除QTreeWidget单元格中QCheckBox的内边距

消除QTreeWidget单元格部件左侧间隙的解决方案

以下是几个可行的解决步骤,按顺序尝试即可:

  • 关闭QTreeWidget的item缩进
    QTreeWidget默认会给顶级item添加缩进,这是间隙的常见来源,直接关闭缩进:

    self.treeWidget_AddressTable.setIndentation(0)
    
  • 清除QTreeWidget单元格的内边距
    通过样式表去除单元格默认的左内边距:

    self.treeWidget_AddressTable.setStyleSheet("QTreeWidget::item { padding-left: 0px; }")
    
  • 确保子部件无额外边距
    给QFrozenWidget里的QCheckBox清除默认边距,避免部件自身带来的间隙:
    修改QFrozenWidget的初始化方法:

    class QFrozenWidget(QWidget):
        def __init__(self, parent=None):
            super().__init__(parent)
            checkbox = QCheckBox()
            # 清除checkbox的左外边距
            checkbox.setStyleSheet("margin-left: 0px;")
            label = QLabel("▲")
            layout = QHBoxLayout(self)
            layout.setAlignment(Qt.AlignLeft)
            layout.setContentsMargins(0, 0, 0, 0)
            # 可选:设置部件间无间距
            layout.setSpacing(0)
            layout.addWidget(checkbox)
            layout.addWidget(label)
    

一般前两步就能解决大部分间隙问题,若仍有残留,再添加第三步的设置即可。

内容的提问来源于stack exchange,提问作者Korcan Karaokçu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 07:09:20