Представление модели Qt использует функцию QSortFilterProxyModel настолько медленно, что-то не так?C++

Программы на C++. Форум разработчиков
Anonymous
Представление модели Qt использует функцию QSortFilterProxyModel настолько медленно, что-то не так?

Сообщение Anonymous »

Я использую представление модели Qt с QSortFilterProxyModel
QListView с флажком и именем, только один столбец
QStandardItemModel setData, строка 100 Вт
используйте функцию QSortFilterProxyModel setFilterFixedString
и добавьте функцию, измененную флажком для всех строк
как это в моем классе Inheritance QStandardItemModel< /p>

Код: Выделить всё

void toggleAllItemsInModel(QStandardItemModel* model, bool checked)
{
for (int i = 0; i < model->rowCount(); ++i) {
QStandardItem* item = model->item(i);
if (item && item->isCheckable()) {
item->setCheckState(checked ? Qt::Checked : Qt::Unchecked);
}
}
мой вопрос: эта функция toggleAllItemsInModel использует только 0,1 с, но setFilterFixedString использует более 12 с, почему эта функция такая медленная, и я думаю, что представление модели Qt оптимизировано, просмотрите шоу, мне нужно оптимизировать , пожалуйста, дайте совет.
я использую userole modelItem + 1, сохраняю скрытую метку и добавляю функцию filterAcccptsRow, но также использую 12,
устанавливаю DynamicSortFilter(false) и setFilterRole( Qt::DisplayRole), но бесполезно.
лучшей функцией будет не использовать QSortFilterProxyModel и реализовать ее в QStandardItemModel?

Подробнее здесь: https://stackoverflow.com/questions/786 ... hing-wrong

Вернуться в «C++»