1

我有一张这样的桌子:

在此处输入图像描述

当我将鼠标移到该表的一行上时,该行的右侧有一个按钮,当我单击该按钮时,该行将从表中删除。

在此处输入图像描述

我如何在我的视图中调整我的委托和信号/插槽以满足此要求?

void ItemDelegate::paint( QPainter *p_painter, const QStyleOptionViewItem &p_option, const QModelIndex &p_index ) const
{
  QStyleOptionViewItem option = p_option;

  QString text = p_index.data( Qt::DisplayRole ).toString();
  int col = p_index.column();

  if ( option.state & QStyle::State_MouseOver )
  {
      p_painter->fillRect( p_option.rect, Qt::green );
      p_painter->setPen(Qt::white);
  }
  else
  {
      p_painter->setPen(Qt::black);
  }

  if ( col == 0 )
  {
      option.rect.setRect( option.rect.left() + 20, option.rect.top(), option.rect.width() - 10, option.rect.height() );
  }
  else
  {
      option.rect.setRect( option.rect.left() + 10, option.rect.top(), option.rect.width() - 10, option.rect.height() );
  }

  p_painter->drawText( option.rect, Qt::AlignVCenter | Qt::TextWordWrap, text );
}

X按钮的图像是x_button.png

4

0 回答 0