Название: QListWidget - 100000 строк за пол секунды? Отправлено: once_again_abc от Март 19, 2012, 07:42 как добавить 100000 текстовых строк длиной не более 128 символов за полсекунды в стандартный QListWidget? Это вообще возможно? "в лоб" не получается - виджет не выдерживает такой нагрузки и умирает с громкими криками.
Название: Re: QListWidget - 100000 строк за пол секунды? Отправлено: LisandreL от Март 19, 2012, 08:07 "в лоб" не получается - виджет не выдерживает такой нагрузки и умирает с громкими криками. С чего бы ему умирать?Код Перерисовка некоторое время занимает, но никакого намёка на умирание. Рассказывайте, что за крики. Название: Re: QListWidget - 100000 строк за пол секунды? Отправлено: once_again_abc от Март 19, 2012, 08:08 "в лоб" не получается - виджет не выдерживает такой нагрузки и умирает с громкими криками. С чего бы ему умирать?Код Перерисовка некоторое время занимает, но никакого намёка на умирание. Рассказывайте, что за крики. кажется уже нашел в чем проблема. я пытался добавить айтем из рабочего потока... Название: Re: QListWidget - 100000 строк за пол секунды? Отправлено: BRE от Март 19, 2012, 08:36 Про использования моделей уже писали?
Название: Re: QListWidget - 100000 строк за пол секунды? Отправлено: LisandreL от Март 19, 2012, 08:45 Про использования моделей уже писали? Нет, конечно. Вопрос же про QListWidget. Зачем отвечать про QListView?Название: Re: QListWidget - 100000 строк за пол секунды? Отправлено: Vass от Март 19, 2012, 08:52 Чтобы небыло багов перерисовки юзайте известный хак,
widget->hide(); добавляем свои 100000 строк widget->show(); экономим 100000 перерисовок. (дада именно 100000, потому что скролл бар он все равно будет пересчитывать дяже для невидимых элементов.) Название: Re: QListWidget - 100000 строк за пол секунды? Отправлено: Bepec от Март 19, 2012, 09:00 А виджет при таком хаке мигать противно не будет?
Название: Re: QListWidget - 100000 строк за пол секунды? Отправлено: BRE от Март 19, 2012, 09:04 Нет, конечно. Вопрос же про QListWidget. Зачем отвечать про QListView? А жаль, для таких объемов очень хорошо. ;)Название: Re: QListWidget - 100000 строк за пол секунды? Отправлено: Bepec от Март 19, 2012, 09:08 Конечн по хорошему автору бы посоветовать QListView. Но если ему надо "ещё вчера", то это будет бесполезный совет :)
Название: Re: QListWidget - 100000 строк за пол секунды? Отправлено: once_again_abc от Март 19, 2012, 09:25 Чтобы небыло багов перерисовки юзайте известный хак, widget->hide(); добавляем свои 100000 строк widget->show(); экономим 100000 перерисовок. (дада именно 100000, потому что скролл бар он все равно будет пересчитывать дяже для невидимых элементов.) лучше отключить сво-во перерисовки. ... у списка. Название: Re: QListWidget - 100000 строк за пол секунды? Отправлено: once_again_abc от Март 19, 2012, 09:25 Конечн по хорошему автору бы посоветовать QListView. Но если ему надо "ещё вчера", то это будет бесполезный совет :) эт точно... спешка как всегда Название: Re: QListWidget - 100000 строк за пол секунды? Отправлено: Vass от Март 19, 2012, 10:28 А виджет при таком хаке мигать противно не будет? Противно мигает он как раз когда не прячешь его.лучше отключить сво-во перерисовки. ... у списка. Что вы имеете ввиду? Сделать setEnabled(false);? Никогда не пробовал, но выглядит разумной идеей. Название: Re: QListWidget - 100000 строк за пол секунды? Отправлено: _OLEGator_ от Март 19, 2012, 10:46 Код
а лучше конечно использовать QListView. Название: Re: QListWidget - 100000 строк за пол секунды? Отправлено: Alex Custov от Март 19, 2012, 14:52 Чтобы небыло багов перерисовки юзайте известный хак, widget->hide(); добавляем свои 100000 строк widget->show(); FACEPALM http://doc.qt.nokia.com/4.8/qwidget.html#updatesEnabled-prop Название: Re: QListWidget - 100000 строк за пол секунды? Отправлено: Vass от Март 19, 2012, 20:37 FACEPALM Да-да я уже понял, ну вот не знал я об этом свойстве. Название: Re: QListWidget - 100000 строк за пол секунды? Отправлено: once_again_abc от Март 20, 2012, 02:46 Чтобы небыло багов перерисовки юзайте известный хак, widget->hide(); добавляем свои 100000 строк widget->show(); FACEPALM http://doc.qt.nokia.com/4.8/qwidget.html#updatesEnabled-prop FACEPALM тут совсем не по делу. вы знаете все свойства всех классов Qt? Название: Re: QListWidget - 100000 строк за пол секунды? Отправлено: GreatSnake от Март 20, 2012, 10:13 FACEPALM тут совсем не по делу. вы знаете все свойства всех классов Qt? Может и по делу. Всё-таки Vass "Qt Certified Specialist", а предлагает очевидную чушь. К тому же это свойство, имхо, "специалист" должен знать)Насчёт QListWidget... Если включена сортировка, то её нужно отрубать или вообще использовать Код
Название: Re: QListWidget - 100000 строк за пол секунды? Отправлено: Alex Custov от Март 20, 2012, 14:31 FACEPALM тут совсем не по делу. вы знаете все свойства всех классов Qt? Нет, конечно. Но такие классы как QObject или QWidget нужно знать вдоль и поперёк. А иначе как? Название: Re: QListWidget - 100000 строк за пол секунды? Отправлено: once_again_abc от Март 21, 2012, 04:40 Насчёт QListWidget... Если включена сортировка, то её нужно отрубать или вообще использовать Код
спасибо за идею! Название: Re: QListWidget - 100000 строк за пол секунды? Отправлено: Авварон от Март 21, 2012, 08:56 Хоспади, за 2 дня можно было 5 моделей написать, чем мусолить тему на форуме.
|