如何消除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
相关产品推荐
相关产品推荐

