Название: QStandardItemModel и сигнал rowsInserted как его отключить на время... Отправлено: zloyGamer от Май 11, 2009, 10:26 подскажите может кто сталкивался с такой ситуацией..
есть QStandardItemModel - в которого часто добавляются строки - отчего жутко тормозит QtableView - который отображает все что там поступило, надо на время отключить/отсоеденить сигнал rowsInserted и затем(через некоторое количество обновлений) вновь задействовать.. но отчего его отсоединять понять немогу вот как оно все выглядит: Код: m_model_tmp=new QStandardItemModel( this ); тоесть получается сигнал rowsInserted - соединен не с ui->tableView_all_records а через какогото посредника который в свою очередь передает этот сигнал в ui->tableView_all_records.. как узнать с кем он соединен чтоб потом его заново соеденить? Название: Re: QStandardItemModel и сигнал rowsInserted как его отключить на время... Отправлено: Karl-Philipp от Май 11, 2009, 14:30 мне кажется, что таблица тут не при чём. Всё дело в модели. Модель тормозит при вставке данных.
Название: Re: QStandardItemModel и сигнал rowsInserted как его отключить на время... Отправлено: ритт от Май 11, 2009, 15:24 а сразу указать нужное кол-во строк/столбцов?
Название: Re: QStandardItemModel и сигнал rowsInserted как его отключить на время... Отправлено: ритт от Май 11, 2009, 15:26 мне кажется, что таблица тут не при чём. Всё дело в модели. Модель тормозит при вставке данных. стандардайтеммодель сама по себе медленная. а когда модель/вьюху постоянно дрючат добавлением строк/столбцов, производительность опять ощутимо падает.Название: Re: QStandardItemModel и сигнал rowsInserted как его отключить на время... Отправлено: zloyGamer от Май 11, 2009, 15:39 >стандардайтеммодель сама по себе медленная. а когда модель/вьюху постоянно дрючат добавлением строк/столбцов, производительность опять ощутимо падает.
я неоднократно это проверил - при вставке по одной строке работает гораздо медленнее чем при вставке диапазона строк, а если вставлять строки после записи: m_model->disconnect(m_model,SIGNAL(rowsInserted( const QModelIndex & , int, int ) ), 0, 0); то ещё гораздо быстрее... НО время от времени надо выводить результат работы... Название: Re: QStandardItemModel и сигнал rowsInserted как его отключить на время... Отправлено: ритт от Май 11, 2009, 15:47 я это и сказал. а дисконнектить не советую.
если руки растут откуда обычно растут руки, пиши свою модель. |