python - 如何让 QHBoxLayout 有固定的比例?
问题描述
就像下图一样,我有一个 QHBoxLayout。在这 2 个 QVBoxLayout 中,我向两者添加了一系列小部件。但我希望 QHBoxLayout 的拆分完全在中间。每边内的一些小部件都有扩展选项,但我不希望 QHBoxLayout 允许任何边跨越整个窗口大小的一半以上。
这可能吗?我怎样才能做到这一点?
解决方案
一种可能的解决方案是在添加 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_())
推荐阅读
- javascript - 反应路由器:如何在执行history.push(url)时获取附加到url的隐藏参数?
- php - Foreach 循环不处理多个文件上传 - PHP
- javascript - 在反应中,组件是否可以知道其父级是否已禁用它?
- android - 如何使用 Kotlin 在 android 中实现具有数据绑定/视图绑定的 Persistent Bottom Sheet?
- c++ - 我试图在 C++ 中只移动一个对象,但它会移动整个屏幕以及如何使用 WASD 在 Visual Studios 2017 中移动一个对象
- php - 文件 ID 输出而不是 URL | 突然ACF坏了| 联系表格 7 | 动态文本扩展
- c# - 使用 IValueConverter 将 WPF Expander.IsExpanded 属性绑定到 ListBox.ItemCount
- vba - 表单加载后使用哪个表单事件来更新表单
- python - django-templates 中的表中的 if 语句
- html - HTML jQuery 多选下拉菜单工作不完美