Показать последний элемент в QListView - PullRequest
0 голосов
/ 13 сентября 2018

Звучит тривиально, но я не смог найти функцию для отображения последнего добавленного элемента в QListView.

Работает с моделью

// Create model
model = new QStringListModel(this);

// Make data
QStringList List;
// Populate our model
model->setStringList(List);
// Glue model and view together
listView->setModel(model);

Элементы добавляются с

void WidgetMessageList::addString(const QString & message)
{
    if(model->insertRow(model->rowCount())) {
        QModelIndex index = model->index(model->rowCount() - 1, 0);
        model->setData(index, message);        
    }
}

В этой функции показанный элемент также должен быть последним.

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018

QAbstractItemView :: scrollTo

При необходимости прокручивает представление, чтобы гарантировать, что элемент в индексе видим.Представление попытается расположить элемент в соответствии с заданной подсказкой.

http://doc.qt.io/archives/qt-4.8/qabstractitemview.html#scrollTo

0 голосов
/ 13 сентября 2018
  1. Создание класса attibute для хранения последнего индекса
  2. Подключите QAbstractItemModel :: rowInserted к слоту в вашем приложении
  3. В слоте обновите индекс соответственно
...