在QTableWidget或QTableView实例下:
1. 获取QHeaderView
QHeaderView * QTableView::horizontalHeader() const;
2. QHeaderView的列宽设置函数
(1)设置列宽最大最小值
void setMaximumSectionSize(int size)
void setMinimumSectionSize(int size)
(2)设置列适应模式
void setSectionResizeMode(int logicalIndex, ResizeMode mode);//设置某一列的自动适应模式
void setSectionResizeMode(ResizeMode mode);//设置整个表头的自适应模式
enum ResizeMode
{
Interactive,
Stretch,
Fixed,
ResizeToContents,
Custom = Fixed
};
Q_ENUM(ResizeMode)
QHeaderView::Interactive //用户可设置,也可被程序设置成默认大小
QHeaderView::Fixed //用户不可更改列宽
QHeaderView::Stretch //根据空间,自动改变列宽,用户与程序不能改变列宽
QHeaderView::ResizeToContents//根据内容改变列宽,用户与程序不能改变列宽
注:ResizeMode被设置为Stretch,ResizeToContents时, void QTableView::setColumnWidth(int column, int width)的效果无效。