PyQt5最全78 布局之QSplitter拖动控件之间的边界

PyQt5最全78 布局之QSplitter拖动控件之间的边界

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *


class Splitter(QWidget):
    """
    拖动控件之间的边界
    QSplitter()

    """

    def __init__(self):
        super(Splitter, self).__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle('QSplitter例子')
        self.resize(400, 300)

        topleft = QFrame()
        topleft.setFrameShape(QFrame.StyledPanel)

        bottom = QFrame()
        bottom.setFrameShape(QFrame.StyledPanel)

        splitter1 = QSplitter(Qt.Horizontal)
        textEdit = QTextEdit()
        splitter1.addWidget(topleft)
        splitter1.addWidget(textEdit)
        # 左侧占100,右侧占200
        splitter1.setSizes([100, 200])

        # 一层套一层
        splitter2 = QSplitter(Qt.Vertical)
        splitter2.addWidget(splitter1)
        splitter2.addWidget(bottom)

        hbox = QHBoxLayout()
        hbox.addWidget(splitter2)
        self.setLayout(hbox)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    main = Splitter()
    print(main.__doc__)
    main.show()
    sys.exit(app.exec_())

结果

在这里插入图片描述
随意拖动以后
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 PyQT5 中设置布局边界,但内部的布局全部无边界,你可以在外部布局中添加一个容器部件,并将内部布局设置为该容器部件的布局。然后,你可以使用 `setContentsMargins` 方法来设置外部布局边界。 下面是一个示例: ```python self.outer_layout = QVBoxLayout() # 创建一个容器部件作为内部布局的父部件 container_widget = QWidget() self.inner_layout = QVBoxLayout() container_widget.setLayout(self.inner_layout) # 添加内部布局的部件到容器部件中 self.inner_layout.addWidget(widget1) self.inner_layout.addWidget(widget2) # ... # 设置外部布局边界 self.outer_layout.setContentsMargins(10, 10, 10, 10) self.outer_layout.addWidget(container_widget) # 将外部布局应用到窗口或其他部件中 self.setLayout(self.outer_layout) ``` 在这个示例中,我们首先创建了外部布局 `self.outer_layout`,然后创建了一个容器部件 `container_widget`。我们将内部布局 `self.inner_layout` 设置为容器部件的布局,并使用 `setLayout` 方法将容器部件放置在外部布局中。 然后,我们使用 `setContentsMargins` 方法设置外部布局边界。在这个示例中,我们将边界设置为 (10, 10, 10, 10),你可以根据需要调整边界的数值。 最后,我们将外部布局应用到窗口或其他部件中,以显示布局的效果。 通过这种方式,外部布局会有边界,而内部布局中的部件将没有边界。如果你想要设置内部布局的部件之间的间距为0,你可以使用内部布局的 `setSpacing` 方法来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值