0
에 QListView에서 이미지에 경계를 설정합니다.내가 QStandardItem에 QPixmap을 설정하고 Qt를
QListView에서 모델의 모든 픽스맵을 표시합니다. ListView에서 첫 번째 항목 (이미지) 만가는 테두리를 어떻게 설정합니까?
에 QListView에서 이미지에 경계를 설정합니다.내가 QStandardItem에 QPixmap을 설정하고 Qt를
QListView에서 모델의 모든 픽스맵을 표시합니다. ListView에서 첫 번째 항목 (이미지) 만가는 테두리를 어떻게 설정합니까?
서브 클래스 QStyledItemDelegate
및 paint 기능을 재정의하십시오. 이 항목을 사용하여 항목에 테두리를 페인트합니다. 그런 다음 해당 델리게이트를 QListView에 설정하십시오.
예 :
void MyDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
if(index.row() == 0)
{
painter->setPen(QPen(Qt::red, 2));
painter->drawRect(option.rect.x()+1, option.rect.y(), option.rect.width()-1, option.rect.height());
}
QStyledItemDelegate::paint(painter, option, index);
}
그리고 set the delegate for your QListView에 : 당신은 necessarely 페인트 기능에 행을 확인하지 않아도
listView->setItemDelegate(new MyDelegate);
. 할 수 있습니다. set the delegate for a specific row :
listView->setItemDelegateForRow(0, new MyDelegate);