Russian Qt Forum
Ноябрь 27, 2024, 21:49
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Своя сортировка в QTreeWidget / custom sorting
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Своя сортировка в QTreeWidget / custom sorting (Прочитано 9112 раз)
Ytz
Гость
Своя сортировка в QTreeWidget / custom sorting
«
:
Июль 08, 2008, 20:55 »
Всем привет!
Имеется QTreeWidget, свой класс с фильтрами и сортировкой из которого надо просто перекидывать данные в QTreeWidget. В связи с этим очень хотелось бы просто у себя в классе унаследованном от QTreeWidget переопределить какую нибудь функцию типа sort и при каждом щелчке пользователя по заголовку обрабатывать самостоятельно это событие. К сожалению ничего похожего не нашел, предлагают создать свою ProxyModel/переопределить операторы сравнения, но мне это не нужно - хочу простоты. Кто нибудь решал подобное?
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Своя сортировка в QTreeWidget / custom sorting
«
Ответ #1 :
Июль 09, 2008, 09:51 »
ProxyModel - очень просто.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Ytz
Гость
Re: Своя сортировка в QTreeWidget / custom sorting
«
Ответ #2 :
Июль 09, 2008, 10:39 »
Мой класс он сам как прокси - формирует данные по запросу уже отсортированные как надо, так что использование ProxyModel излишне
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Своя сортировка в QTreeWidget / custom sorting
«
Ответ #3 :
Июль 09, 2008, 11:42 »
Что-то все у тебя запутано.... Скорее всего у тебя изначальная задумка не верна. Попробуй подробно изложить суть задачи и то как ты ее пытаешься решить.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Ytz
Гость
Re: Своя сортировка в QTreeWidget / custom sorting
«
Ответ #4 :
Июль 09, 2008, 11:48 »
Короче вся логика программы написана с учетом того, что в самом GUI логики быть не должно вообще. Поэтому виджет для отображения используются только для отображения, вся работа происходит в ядре, от GUI только идет запрос в ядро типа выбрать то-то и то-то и вот так отсортировать, а ядро в свою очередь возвращает готовую структуру которую просто надо тупо вывести на экран и все. В этом случае QT-шные контролы слишком умные.
Записан
Alex03
Гость
Re: Своя сортировка в QTreeWidget / custom sorting
«
Ответ #5 :
Июль 09, 2008, 12:10 »
Ну так сделай свой класс моделью, или промежуточную модель которая будет брать данные с твоего класса. А уже эту модель подсунь в QTreeView (не путать QTreeWidget, который по сути тот же QTreeView только со стандартной моделью внутри).
Записан
Ytz
Гость
Re: Своя сортировка в QTreeWidget / custom sorting
«
Ответ #6 :
Июль 09, 2008, 20:43 »
Всем спасибо. Написал свой QStandardItemModel и правда просто и логично
Записан
ритт
Гость
Re: Своя сортировка в QTreeWidget / custom sorting
«
Ответ #7 :
Июль 09, 2008, 20:45 »
а на базе абстрактной модели было бы ещё и быстрее
Записан
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: Своя сортировка в QTreeWidget / custom sorting
«
Ответ #8 :
Июль 09, 2008, 22:51 »
Цитата: Константин от Июль 09, 2008, 20:45
а на базе абстрактной модели было бы ещё и быстрее
+100
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Hort
Гость
Re: Своя сортировка в QTreeWidget / custom sorting
«
Ответ #9 :
Июль 09, 2008, 23:23 »
Цитата: Константин от Июль 09, 2008, 20:45
а на базе абстрактной модели было бы ещё и быстрее
а я не разобрался как реализовать методы index() и parent(). в Шлее про них 2 слова =(. а с английским я не очень дружу чтобы все понять что в документации написано, мне проще глянуть на конкретный пример (но в ассистенте этого не нашел).
Записан
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: Своя сортировка в QTreeWidget / custom sorting
«
Ответ #10 :
Июль 09, 2008, 23:54 »
Цитата: Hort от Июль 09, 2008, 23:23
а я не разобрался как реализовать методы index() и parent(). в Шлее про них 2 слова =(. а с английским я не очень дружу чтобы все понять что в документации написано, мне проще глянуть на конкретный пример (но в ассистенте этого не нашел).
Например можно посмотреть примеры из examples/itemviews/ такие как editabletreemodel, simpletreemodel и simpledommodel. В этих примерах создаються свои модели на базе QAbstractItemModel
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Hort
Гость
Re: Своя сортировка в QTreeWidget / custom sorting
«
Ответ #11 :
Июль 10, 2008, 00:22 »
Цитата: pastor от Июль 09, 2008, 23:54
Например можно посмотреть примеры из examples/itemviews/ такие как editabletreemodel, simpletreemodel и simpledommodel. В этих примерах создаються свои модели на базе QAbstractItemModel
большое спаибо! погляжу
PS: ура! разобрался. и на радостях написал свой класс. simpletreemodel оказалась как раз то что мне надо.
«
Последнее редактирование: Июль 10, 2008, 03:25 от Hort
»
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...