如何让 QHBoxLayout 有固定的比例?
How to have QHBoxLayout to have fixed ratio?
就像下图一样,我有一个QHBoxLayout。在这 2 个 QVBoxLayout 中,我向两者添加了一系列小部件。但我希望 QHBoxLayout 的拆分完美地在中间。每侧的一些小部件都有扩展选项,但我不想 QHBoxLayout 允许任何一侧超过整个 window.
大小的一半
这可能吗?我该怎么做?
一个可能的解决方案是在添加 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。在这 2 个 QVBoxLayout 中,我向两者添加了一系列小部件。但我希望 QHBoxLayout 的拆分完美地在中间。每侧的一些小部件都有扩展选项,但我不想 QHBoxLayout 允许任何一侧超过整个 window.
大小的一半这可能吗?我该怎么做?
一个可能的解决方案是在添加 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_())