Есть несколько методов класса QHeaderView
, которые, вероятно, будут делать то, что вы хотите.Самое простое:
table.horizontalHeader().setStretchLastSection(True)
Это обеспечит автоматическое изменение размера последнего столбца в соответствии с доступным пространством в таблице, оставляя ширину остальных столбцов такими, какие они есть (и изменяемые пользователем).
В качестве альтернативы, существуют способы установки ResizeMode
столбцов.
Для Qt5:
table.setColumnWidth(1, 80)
table.horizontalHeader().setSectionResizeMode(0, QHeaderView.Stretch)
Для Qt4:
table.setColumnWidth(1, 80)
table.horizontalHeader().setResizeMode(0, QHeaderView.Stretch)
Это зафиксирует ширину второго столбца и обеспечит автоматическое изменение размера первого столбца для заполнения оставшегося пространства (но предотвращает любое другое изменение размера пользователем).