Qt QTableView 调整大小以适应内容

Qt QTableView resize to fit content

您好,我已经创建了 MainWindow,如上所示。我想尽可能地扩展第一个小部件(绘图),以便其他两个小部件适合内容(或者实际上,我想删除 tables 下面的白色空 space)。 我不知道该怎么做。

目前,table 垂直 header 尺寸政策均设置为 FitToContent。

此外,它需要是动态的,所以如果我向 table 添加一个新行,则应该可以看到一个新行(table 会更大)。

希望我说的够清楚,也希望不需要可运行代码

好的,我想通了。

重新实现 resizeEvent 即可。

    def resizeEvent(self, event):
        super(Table, self).resizeEvent(event)
        height = self.horizontalHeader().height()
        for row in range(self.model().rowCount()):
            height += self.rowHeight(row)

        if self.horizontalScrollBar().isVisible():
            height += self.horizontalScrollBar().height()
        self.setMaximumHeight(height + 2)

我正在更改 QTableView 的高度。我包括水平高度 header + 所有行的高度 + horizo​​ntalScrollBar 的高度(如果可见)。