核心代码:
# 调整列宽最大化
header = table_widget.horizontalHeader()
header.setSectionResizeMode(QHeaderView.Stretch)
示例:
要让QTableWidget
的列宽最大化,你可以使用QHeaderView
来调整列的大小。QHeaderView
是QTableWidget
的水平表头视图,它控制了表格中每列的大小和行高。
以下是一个使用QHeaderView
将QTableWidget
的列宽最大化的示例代码:
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QHeaderView
app = QApplication([])
table_widget = QTableWidget()
# 添加表头和数据
table_widget.setColumnCount(3)
table_widget.setRowCount(4)
table_widget.setHorizontalHeaderLabels(['Column 1', 'Column 2', 'Column 3'])
data = [
['Row 1, Column 1', 'Row 1, Column 2', 'Row 1, Column 3'],
['Row 2, Column 1', 'Row 2, Column 2', 'Row 2, Column 3'],
['Row 3, Column 1', 'Row 3, Column 2', 'Row 3, Column 3'],
['Row 4, Column 1', 'Row 4, Column 2', 'Row 4, Column 3']
]
for i, row in enumerate(data):
for j, item in enumerate(row):
table_widget.setItem(i, j, QTableWidgetItem(item))
# 调整列宽最大化
header = table_widget.horizontalHeader()
header.setSectionResizeMode(QHeaderView.Stretch)
table_widget.show()
app.exec()
在这个例子中,我们创建了一个包含3列4行的QTableWidget
,然后使用setHorizontalHeaderLabels
设置表头的标签,并使用setItem
方法将数据添加到表格中。
然后,我们获取了QTableWidget
的水平表头视图horizontalHeader
,并使用setSectionResizeMode
方法将列的调整模式设置为QHeaderView.Stretch
,它会将列的宽度自动调整为最大化。
最后,我们显示了QTableWidget
并运行应用程序。
这样,QTableWidget
的列宽就会被最大化调整。