已经两天了,我无法解决问题。
我有一个自定义QStyledItemDelegate
和一个QTreeView
。 QTreeView's
缩进设置为12。QStyledItemDelegate's
QStyleOptionViewItem::rect
设置为-12。
当我更改QTreeView
项目文本的颜色时,此设置会引起故障。
代码
void MyItemViewDelegate::initStyleOption(QStyleOptionViewItem* option, const QModelIndex& index) const
{
if (m_functor->operator ()(index))
{
option->rect.adjust(-12, 0, 0, 0);
}
}
MyTreeView::MyTreeView(QWidget* parent)
: QTreeView(parent)
{
setIndentation(12);
}
我想念什么?
它与QTreeView的视口有某种联系。
答案 0 :(得分:0)
所以我忘了要做的是覆盖:
QRect QTreeView::visualRect(const QModelIndex& index) const
{
if (m_functor->operator ()(index))
{
return QTreeView::visualRect(index).adjusted(-m_indentation, 0, 0, 0);
}
return QTreeView::visualRect(index);
}