是否可以重新定义某个行中某些单独行的行高QTreeView
?
我有一个习惯QTreeView
, 风俗QAbstractItemModel
和一个习惯QStyledItemDelegate
,但似乎所有的sizeHint
方法要么只调用一次(最初),要么在基类中不是虚拟的。
Qt 版本 4.7.4,无法升级到 5。
任何帮助表示赞赏。
重新实现委托的 sizeHint()。在我的一些生产代码中找到了一个示例。其简化如下所示。在该示例中,树可以包含图像。因此,需要调整像元大小以承载图像。
class ItemDelegate : public QItemDelegate
{
public:
QSize sizeHint ( const QStyleOptionViewItem & option, const QModelIndex & index ) const
{
const TreeItem* ti(static_cast<TreeItem*>(index.internalPointer()));
if(ti->pixmap())
return ti->pixmap()->size();
QItemDelegate::sizeHint(option,index);
}
};
Usage:
QTreeView view;
ItemDelegate *delegate = new ItemDelegate;
view.setItemDelegate(delegate);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)