Название: Своя сортировка в QTreeWidget / custom sorting Отправлено: Ytz от Июль 08, 2008, 20:55 Всем привет!
Имеется QTreeWidget, свой класс с фильтрами и сортировкой из которого надо просто перекидывать данные в QTreeWidget. В связи с этим очень хотелось бы просто у себя в классе унаследованном от QTreeWidget переопределить какую нибудь функцию типа sort и при каждом щелчке пользователя по заголовку обрабатывать самостоятельно это событие. К сожалению ничего похожего не нашел, предлагают создать свою ProxyModel/переопределить операторы сравнения, но мне это не нужно - хочу простоты. Кто нибудь решал подобное? Название: Re: Своя сортировка в QTreeWidget / custom sorting Отправлено: Пантер от Июль 09, 2008, 09:51 ProxyModel - очень просто. :)
Название: Re: Своя сортировка в QTreeWidget / custom sorting Отправлено: Ytz от Июль 09, 2008, 10:39 Мой класс он сам как прокси - формирует данные по запросу уже отсортированные как надо, так что использование ProxyModel излишне :(
Название: Re: Своя сортировка в QTreeWidget / custom sorting Отправлено: Пантер от Июль 09, 2008, 11:42 Что-то все у тебя запутано.... Скорее всего у тебя изначальная задумка не верна. Попробуй подробно изложить суть задачи и то как ты ее пытаешься решить.
Название: Re: Своя сортировка в QTreeWidget / custom sorting Отправлено: Ytz от Июль 09, 2008, 11:48 Короче вся логика программы написана с учетом того, что в самом GUI логики быть не должно вообще. Поэтому виджет для отображения используются только для отображения, вся работа происходит в ядре, от GUI только идет запрос в ядро типа выбрать то-то и то-то и вот так отсортировать, а ядро в свою очередь возвращает готовую структуру которую просто надо тупо вывести на экран и все. В этом случае QT-шные контролы слишком умные.
Название: Re: Своя сортировка в QTreeWidget / custom sorting Отправлено: Alex03 от Июль 09, 2008, 12:10 Ну так сделай свой класс моделью, или промежуточную модель которая будет брать данные с твоего класса. А уже эту модель подсунь в QTreeView (не путать QTreeWidget, который по сути тот же QTreeView только со стандартной моделью внутри).
Название: Re: Своя сортировка в QTreeWidget / custom sorting Отправлено: Ytz от Июль 09, 2008, 20:43 Всем спасибо. Написал свой QStandardItemModel и правда просто и логично :)
Название: Re: Своя сортировка в QTreeWidget / custom sorting Отправлено: ритт от Июль 09, 2008, 20:45 а на базе абстрактной модели было бы ещё и быстрее :)
Название: Re: Своя сортировка в QTreeWidget / custom sorting Отправлено: pastor от Июль 09, 2008, 22:51 Название: Re: Своя сортировка в QTreeWidget / custom sorting Отправлено: Hort от Июль 09, 2008, 23:23 а на базе абстрактной модели было бы ещё и быстрее :) а я не разобрался как реализовать методы index() и parent(). в Шлее про них 2 слова =(. а с английским я не очень дружу чтобы все понять что в документации написано, мне проще глянуть на конкретный пример (но в ассистенте этого не нашел).Название: Re: Своя сортировка в QTreeWidget / custom sorting Отправлено: pastor от Июль 09, 2008, 23:54 а я не разобрался как реализовать методы index() и parent(). в Шлее про них 2 слова =(. а с английским я не очень дружу чтобы все понять что в документации написано, мне проще глянуть на конкретный пример (но в ассистенте этого не нашел). Например можно посмотреть примеры из examples/itemviews/ такие как editabletreemodel, simpletreemodel и simpledommodel. В этих примерах создаються свои модели на базе QAbstractItemModel Название: Re: Своя сортировка в QTreeWidget / custom sorting Отправлено: Hort от Июль 10, 2008, 00:22 Например можно посмотреть примеры из examples/itemviews/ такие как editabletreemodel, simpletreemodel и simpledommodel. В этих примерах создаються свои модели на базе QAbstractItemModel большое спаибо! погляжу :oPS: ура! разобрался. и на радостях написал свой класс. simpletreemodel оказалась как раз то что мне надо. |