如何处理 QGridLayout 中表现怪异的表格

How to deal with tables in QGridLayout acting weird

我无法将 2 个表格放入 QGridLayout。我已经阅读了一些示例,并认为我掌握了它。显然,我没有。这是我想象的样子:

所以我认为这段代码应该有效:

layout = QGridLayout()
layout.addWidget(smalltable, 0, 1, 1, 2)
layout.addWidget(bigtable, 1, 0, 4, 4)

但我却得到了这样的东西:

一种可能的解决方案是使用 setRowStretch():

设置拉伸因子
import sys

from PyQt5.QtWidgets import QApplication, QGridLayout, QTableWidget, QWidget

app = QApplication(sys.argv)

smalltable = QTableWidget(4, 4)
bigtable = QTableWidget(5, 5)

w = QWidget()

layout = QGridLayout(w)
layout.addWidget(smalltable, 0, 1, 1, 2)
layout.addWidget(bigtable, 1, 0, 1, 4)
layout.setRowStretch(0, 1)
layout.setRowStretch(1, 4)

w.resize(640, 480)
w.show()

sys.exit(app.exec_())