2010-04-08 2 views
7

QListView 및 QStandardItemModel을 사용하면 목록보기에서 관련 텍스트를 표시하지 않고 아이콘을 표시 할 수 있습니까? QStandardItem은 다음과 같이 정의됩니다.텍스트없이 QListView에 아이콘을 표시하는 방법이 있습니까?

QStandardItem (const QIcon & icon, const QString & text) 

그래서 어떤 종류의 텍스트 문자열이 필요합니다. 아이콘 만 표시하면됩니다. 다음 코드를 사용하면 아이콘이 요청대로 표시되지만 그 아래에 빈 텍스트 요소가 나타납니다. 나는 이것을 원하지 않는다.

ImageListView->setViewMode(QListView::IconMode); 
{ 
    QStandardItemModel *iStandardModel = new QStandardItemModel(this); 
    QStandardItem* item1 = new QStandardItem(QIcon("images/shield-280x280.png"),""); 
    QStandardItem* item2 = new QStandardItem(QIcon("images/shield-280x280.png"),""); 

    iStandardModel->appendRow(item1); 
    iStandardModel->appendRow(item2); 
    ImageListView->setIconSize(QSize(100,100)); 
    ImageListView->setUniformItemSizes(true); 
    ImageListView->setDragDropMode(QAbstractItemView::DropOnly); 
    ImageListView->setModel(iStandardModel); 
} 

사용자 지정 모델을 작성하는 데 문제가 있으면이 문제를 해결할 수 있습니까?

답변

3

예, 가능합니다.

먼저

목록보기에 요소를 삽입하는 동안

이 아이콘을 삽입하는 설정 데이터 기능을 사용 목록 - view.Then과 관련된 대리자를 만들고 대리자 페인트 이벤트는 드로잉을 처리 상. 나는 그것의 명확한 희망한다.

+0

답장을 평가하고 답변 해 드리겠습니다. 감사! –

+8

@Chris이 문제에 대한 코드 스 니펫을 게시 할 수 있습니까? – Dmitriy

+1

코드가 좋을 것 같습니다. 동의합니다 : 사용자 지정 대리인은 사람들에게 유죄를주는 경향이 있습니다. – neuronet

관련 문제