Есть ли способ отображать значки в QlistView без текста?
Вопрос
Использование QLiStView и Q SstandardItemModel, возможно ли отображать значки в представлении списка без отображения связанного текста? Qстандартрит определяется как:
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);
}
Если я пойду на беду построения пользовательской модели, могу ли я решить эту проблему?
Решение
Да, вы можете сделать.
Сначала вы создаете делегат, связанный со списком. Затем,
Вставляя элементы в список ListView, используйте функцию Set-Data, чтобы вставить значок и в событии Paint Of DELEGET, вы обработаете значок чертежа. Я надеюсь, что это ясно.
Другие советы
Как показать иконы без текста в QlistWidget?
Из вышеуказанного поста вы можете использовать NULL, чтобы избавиться от этого пустого пространства