Qt QTableView изменить размер в соответствии с содержимым - PullRequest
0 голосов
/ 19 июня 2020

MainWindow

Привет, я создал MainWindow, как показано выше. Я хочу максимально расширить первый виджет (графики), чтобы два других виджета соответствовали содержимому (или, на самом деле, я хочу удалить белое пустое пространство под таблицами). Я не знаю, как это сделать.

В настоящее время для политики размера вертикального заголовка обеих таблиц установлено значение FitToContent.

Кроме того, это должно быть динамическое c, поэтому, если я добавлю новая строка в таблице должна быть видна новая строка (таблица будет больше).

Надеюсь, я достаточно ясен, а также надеюсь, что нет необходимости в исполняемом коде.

1 Ответ

1 голос
/ 23 июня 2020

Хорошо, я понял.

Повторная реализация 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. Я включаю высоту горизонтального заголовка + высоту всех строк + высоту горизонтальной полосы прокрутки, если она видна.

...