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

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

这可能吗?我该怎么做?

【问题讨论】:

    标签: python qt layout pyside2


    【解决方案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_())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-26
      • 2019-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多