sjt*_*eri 4 qt qt4 qtableview model-view
我正在使用QTableView其子类QAbstractTableModel作为其模型.通过实现data()并headerdata()在子类模型中,可以控制表的许多属性,如数据,标题值,字体等.
在我的例子中,我希望模型设置每个表列的宽度.如何才能做到这一点?
小智 9
有两种方法:
在模型的数据方法中,您可以返回角色SizeHintRole.
更好的方法是子类化QItemDelegate并覆盖该方法.
看到这里(qitemdelegate.html#sizeHint)
示例 -
QSize ItemDelegate::sizeHint( const QStyleOptionViewItem & option, const QModelIndex & index ) const
{
QSize sz;
if(index.column()==2)
{
return QSize(128, option.rect().height());
}
return QSize();
}
Run Code Online (Sandbox Code Playgroud)
这里我将第2列的宽度设置为128像素,并且我从中保留的项目矩形填充高度QStyleOptionViewItem.
| 归档时间: |
|
| 查看次数: |
6851 次 |
| 最近记录: |