【发布时间】:2015-08-12 17:36:50
【问题描述】:
我的自定义项目委托覆盖了这个函数:
void TileToolDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
一切都很好,画得很好,除了由于某种原因,'option.viewItemPosition' 总是 QStyleOptionViewItem::ViewItemPosition::Invalid
我正在尝试检查该项目是否是列表中的最后一项:
//Draw the dropshadow, if this is the final item in the list.
if(option.viewItemPosition == QStyleOptionViewItem::ViewItemPosition::End
|| option.viewItemPosition == QStyleOptionViewItem::ViewItemPosition::OnlyOne)
{
//...
}
调试显示,对于每个项目,结果都是 ViewItemPosition::Invalid。 =(...
我的模型应该提供这些详细信息吗?如果是这样,怎么做? 我的模型继承了QAbstractListModel,视图是QListView。
注意:因为我不知道为什么这不起作用,我只是通过将 QModelIndex 与 0 和 rowCount()-1 进行比较来作弊,但我想知道为什么这不起作用。
【问题讨论】:
标签: qt qt5 qitemdelegate