Используя 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);
}
Если я перехожу к проблеме создать пользовательскую модель, я могу решить этот вопрос?
Да, можно.
сначала вы создаете делегата, связанного с представлением списка. Затем,
вставляя элементы в представление списка, используйте функцию set-data для вставки значка, а в событии рисования делегата вы обрабатываете значок рисования. Надеюсь, все ясно.