Существует ли способ отобразить значки в QListView без текста?

Используя QListView и QStandardItemModel, действительно ли возможно отобразить значки в представлении списка, не отображая связанный текст? QStandardItem определяется как так:

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);
}

Если я перехожу к проблеме создать пользовательскую модель, я могу решить этот вопрос?

7
задан Chris K 8 April 2010 в 04:12
поделиться

1 ответ

Да, можно.

сначала вы создаете делегата, связанного с представлением списка. Затем,

вставляя элементы в представление списка, используйте функцию set-data для вставки значка, а в событии рисования делегата вы обрабатываете значок рисования. Надеюсь, все ясно.

3
ответ дан 7 December 2019 в 16:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: