Название: QSortFilterProxyModel в Qt5 медленнее, чем в Qt4 ?
Отправлено: rellanium от Ноябрь 14, 2014, 11:46
Всем привет! Делаю поиск с помощью QSortFilterProxyModel по нескольким столбцам следующим образом: model->setQuery(queryStr);
if (model->lastError().isValid()) QMessageBox::about(0,"",queryStr+"\n\n"+ model->lastError().text());
model->setHeaderData(0, Qt::Horizontal, tr("ID")); model->setHeaderData(1, Qt::Horizontal, QString::fromLocal8Bit("Код каталога")); model->setHeaderData(2, Qt::Horizontal, QString::fromLocal8Bit("Наименование")); model->setHeaderData(3, Qt::Horizontal, QString::fromLocal8Bit("Артикул")); model->setHeaderData(4, Qt::Horizontal, QString::fromLocal8Bit("Цвет")); model->setHeaderData(5, Qt::Horizontal, QString::fromLocal8Bit("Ед. измерения"));
proxyModel = new QSortFilterProxyModel; proxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive); proxyModel->setSourceModel(model); proxyModel->setFilterKeyColumn(1); proxyModel2 = new QSortFilterProxyModel; proxyModel2->setFilterCaseSensitivity(Qt::CaseInsensitive); proxyModel2->setSourceModel(proxyModel); proxyModel2->setFilterKeyColumn(3); proxyModel3 = new QSortFilterProxyModel; proxyModel3->setFilterCaseSensitivity(Qt::CaseInsensitive); proxyModel3->setSourceModel(proxyModel2); proxyModel3->setFilterKeyColumn(2); proxyModel4 = new QSortFilterProxyModel; proxyModel4->setFilterCaseSensitivity(Qt::CaseInsensitive); proxyModel4->setSourceModel(proxyModel3); proxyModel4->setFilterKeyColumn(4);
ui.tableView->setModel(proxyModel4); буквально на днях решились перейти на qt5. помимо других исправимых несоответствий выяснилось, что поиск QSortFilterProxyModel работает раза в два медленнее по сравнению с qt4. Количество строк в моделе ~8000. Надеюсь на вашу помощь, уважаемые гуру!
Название: Re: QSortFilterProxyModel в Qt5 медленнее, чем в Qt4 ?
Отправлено: Пантер от Ноябрь 14, 2014, 11:59
Ты бы лучше кот своей прокси привел.
Название: Re: QSortFilterProxyModel в Qt5 медленнее, чем в Qt4 ?
Отправлено: rellanium от Ноябрь 14, 2014, 12:10
Ты бы лучше кот своей прокси привел.
используется стандартный класс QSortFilterProxyModel, ничего не переопределял.
Название: Re: QSortFilterProxyModel в Qt5 медленнее, чем в Qt4 ?
Отправлено: rellanium от Ноябрь 17, 2014, 11:01
Никто не сталкивался? :o
Название: Re: QSortFilterProxyModel в Qt5 медленнее, чем в Qt4 ?
Отправлено: vipet от Февраль 18, 2015, 17:55
сравни исходники из Qt4 и Qt5 и поделись с нами выводами :)
|