如何让 QHBoxLayout 有固定的比例?

Posted

技术标签:

【中文标题】如何让 QHBoxLayout 有固定的比例?【英文标题】:How to have QHBoxLayout to have fixed ratio? 【发布时间】:2021-01-06 06:46:55 【问题描述】:

就像下图一样,我有一个 QHBoxLayout。在这 2 个 QVBoxLayout 中,我向两者添加了一系列小部件。但我希望 QHBoxLayout 的拆分完全在中间。每边内的一些小部件都有扩展选项,但我不想 QHBoxLayout 允许任何边跨越整个窗口大小的一半以上。

这可能吗?我该怎么做?

【问题讨论】:

【参考方案1】:

一种可能的解决方案是在添加 QVBoxLayout 时设置相同的拉伸因子:

from PyQt5 import QtCore, QtGui, QtWidgets


class Widget(QtWidgets.QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)

        hlay = QtWidgets.QHBoxLayout(self)

        left_vlay = QtWidgets.QVBoxLayout()
        right_vlay = QtWidgets.QVBoxLayout()

        hlay.addLayout(left_vlay, stretch=1)
        hlay.addLayout(right_vlay, stretch=1)

        left_vlay.addWidget(QtWidgets.QTextEdit())
        right_vlay.addWidget(QtWidgets.QLineEdit())

if __name__ == "__main__":
    import sys

    app = QtWidgets.QApplication(sys.argv)
    w = Widget()
    w.show()
    sys.exit(app.exec_())

【讨论】:

以上是关于如何让 QHBoxLayout 有固定的比例?的主要内容,如果未能解决你的问题,请参考以下文章

如何在固定大小的表格单元格内按比例缩放图像

QHBoxLayout 间距

C#/.net/Winform的chart控件新手求助,如何让坐标轴始终以固定比例显示柱状图?如图

ps如何剪切固定比例的图片,不用固定大小!

div+css如何控制图片在电脑屏幕上的比例及位置

怎样用css将div固定在屏幕某个比例(比如说屏幕靠右1/3)处?