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