Qt Designer Auto Подгонка tableWidget напрямую из Designer - PullRequest
1 голос
/ 05 апреля 2019

Я пытаюсь автоматически подогнать столбцы tableWidget к доступной области tableWidget

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

enter image description here

Установка horizontalHeaderStretch на True (показано ниже) - это не то, что мне нужно. Это растягивает последний столбец неравномерно.

enter image description here

Я пытался установить sizeAdjustPolicy на AdjustToCOntents, но не увидел видимой разницы.

enter image description here

Подобный вопрос можно найти здесь , однако я не смог найти упоминаний о том, как сделать это напрямую от дизайнера.

Любые предложения о том, как это можно сделать? Заранее спасибо.

1 Ответ

1 голос
/ 05 апреля 2019

Указанная вами функция не может быть реализована с помощью Qt Designer. В Qt Designer можно изменить только Q_PROPERTY, включенный флагом DESIGNABLE, но setSectionResizeMode() - это не Q_PROPERTY, а метод QHeaderView, который указан в документах :

Атрибут DESIGNABLE указывает, должно ли свойство быть отображается в редакторе свойств инструмента дизайна GUI (например, Qt Designer). Большинство свойств являются DESIGNABLE (по умолчанию true). Вместо истины или false, вы можете указать логическую функцию-член.

Так что вам придется делать это программно:

header = self.table.horizontalHeader()       
header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch)
header.setSectionResizeMode(1, QtWidgets.QHeaderView.ResizeToContents)
header.setSectionResizeMode(2, QtWidgets.QHeaderView.ResizeToContents)
# ...
...