QStyledItemDelegate+;QTreeView::setIndenation导致文本绘图出现故障
我已经两天没能得到解决办法了 我有一个自定义的QStyledItemDelegate+;QTreeView::setIndenation导致文本绘图出现故障,qt,qt5,Qt,Qt5,我已经两天没能得到解决办法了 我有一个自定义的qstyledtemdelegate和一个QTreeViewQTreeView的缩进设置为12。和QStyledItemDelegate的QStyleOptionViewItem::rect设置为-12。 当我更改QTreeView项目文本的颜色时,此设置会导致出现故障 代码 void MyItemViewDelegate::initStyleOption(QStyleOptionViewItem* option, const QModelInde
qstyledtemdelegate
和一个QTreeView
<代码>QTreeView的缩进设置为12。和QStyledItemDelegate的
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的视口有关。所以我忘记做的是覆盖:
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);
}
删除选项->校正调整(-12,0,0,0)@谢谢你的努力。我找到了解决办法。