【问题标题】:How to adjust space between layouts in a QVBoxLayout如何在 QVBoxLayout 中调整布局之间的空间
【发布时间】:2018-04-26 15:53:03
【问题描述】:

我已经了解了如何调整布局中小部件之间的空间: Space between widgets in QVBoxLayout。但是,我想知道如何调整添加到布局的布局之间的空间。

例如:

layout = QVBoxLayout()
h1_layout = QHBoxLayout()
h2_layout = QHBoxLayout()
layout.addLayout(h1_layout)
layout.addLayout(h2_layout)

我希望 h1_layouth2_layout 的内容彼此靠近放置,而不是在垂直布局中隔开。

【问题讨论】:

    标签: python layout pyqt spacing qvboxlayout


    【解决方案1】:

    我假设您希望两个水平布局的内容在垂直布局的顶部对齐,而不是拉伸以填充整个可用空间。如果是这样,您可以通过在垂直布局的底部添加扩展间隔来实现此目的:

    layout = QVBoxLayout()
    h1_layout = QHBoxLayout()
    h2_layout = QHBoxLayout()
    layout.addLayout(h1_layout)
    layout.addLayout(h2_layout)
    # add expanding spacer
    layout.addStretch()
    

    实现类似效果的另一种方法,是设置父布局的对齐方式:

    layout.setAlignment(QtCore.Qt.AlignTop)
    

    【讨论】:

    • 谢谢。我实际上也找到了这种方法。但是,为了完整起见,您知道实现预期效果的另一种方法吗?
    • @user3731622。我添加了一个替代解决方案
    猜你喜欢
    • 2017-10-13
    • 1970-01-01
    • 2021-06-02
    • 1970-01-01
    • 1970-01-01
    • 2020-09-02
    • 1970-01-01
    • 2018-06-03
    • 1970-01-01
    相关资源
    最近更新 更多