Название: QTableView QAbstractmodel Отправлено: FakeMoNEy от Ноября 27, 2012, 23:56 Здравствуйте, у меня есть несколько вопросов
1)Я заполняю таблицу в цикле, на форрме есть statusbar на нем qlabel Код В цикле заполнения таблицы я обновляю статус бар, в нем написано сколько строк обработано вот так [10/1000] Заполнение идет долго строк бывает много, и если кликнуть на окно программы окошко зависает и самодельный прогресс бар больше не обновляется, пробовал отключать сигналы у виджетов, не помогает, как решить данную проблему, фильтр эвентов? 2)Использую QTableView и QStandardItemModel мне нужно чтобы при нажатии на строку она раскрывалась (что-то вроде QTreeview) но не только вниз, а в две стороны, (т.е строка которая раскрывает подстроки должна стоять в середине этих подстрок), в левом столбце таблицы в зависимости от того можно ли при клике на поле раскрыть группу подстрок, стоит + или - если группа подстрок раскрыта, или ничего если строка без группы подстрок. Я использую SetRowHidden() в QTableview т.к. ничего другого не нашел. Строк много бывает до 2 миллионов а может и больше. Соответственно долго заполняет, как ускорить? Наследоваться от QAbstractmodel? Или в создать базу данных? Может есть варианты наследоваться от QAbstractmodel при этом сделать подстроки как описано выше не используя setRowHidden если да можно какой нибудь минималистичный пример с подстроками? Название: Re: QTableView QAbstractmodel Отправлено: kambala от Ноября 28, 2012, 00:13 1) периодически вызывать (т.е. в своем цикле) qApp->processEvents()
2) думаю для такого большого количества записей лучше использовать БД и QSql...Model Название: Re: QTableView QAbstractmodel Отправлено: FakeMoNEy от Ноября 28, 2012, 01:11 Там не всегда такое большое, может быть и 1000, а сворачивание строк можно реализовать с помощью Qsqlmodel?
Название: Re: QTableView QAbstractmodel Отправлено: Bepec от Ноября 28, 2012, 07:29 Скорость заполнения строк можно ускорить, отключив обновление таблицы на это время :)
Если напишешь свою модель, сможешь делать что душе угодно, хоть столбики, хоть гробики :) Название: Re: QTableView QAbstractmodel Отправлено: FakeMoNEy от Ноября 28, 2012, 09:12 Скорость заполнения строк можно ускорить, отключив обновление таблицы на это время :) Обновление отключил, заблокировал сигналы и setupdate отключил у таблицы почти сразу. Все равно долго.Если напишешь свою модель, сможешь делать что душе угодно, хоть столбики, хоть гробики :) А пример можно? не просто модель, а с гробиками? :) Название: Re: QTableView QAbstractmodel Отправлено: Bepec от Ноября 28, 2012, 10:48 Вынужден отказать из-за отсутствия времени и отсутствии задора.
Model-View в ассистанте подскажет вам. |