在PyQt4的QTableWidget中,列宽可以通过多种方式设置。标题宽度是指表头(header)中显示的列标题文本的宽度。有时我们需要确保列宽至少能完整显示标题内容。
要将最小列宽设置为标题宽度,可以使用以下方法:
from PyQt4.QtGui import QTableWidget, QTableWidgetItem, QHeaderView
# 创建表格
table = QTableWidget(5, 3) # 5行3列
table.setHorizontalHeaderLabels(["列1", "较长的列标题", "列3"])
# 设置最小列宽为标题宽度
header = table.horizontalHeader()
header.setResizeMode(QHeaderView.ResizeToContents) # 先根据内容调整
header.setMinimumSectionSize(header.sectionSize(0)) # 设置最小宽度为当前宽度
header.setResizeMode(QHeaderView.Interactive) # 恢复可交互调整
ResizeToContents
模式会根据内容(包括标题)自动调整列宽setMinimumSectionSize
设置最小宽度Interactive
模式,允许用户手动调整也可以逐列设置:
for col in range(table.columnCount()):
header.resizeSection(col, header.sectionSize(col))
header.setMinimumSectionSize(header.sectionSize(col))
setResizeMode
在PyQt5中已被setSectionResizeMode
取代这种技术常用于:
没有搜到相关的文章