Russian Qt Forum
Ноябрь 23, 2024, 13:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Почему бы QSortFilterProxyModel не быть QtCore?  (Прочитано 6012 раз)
Akon
Гость
« : Декабрь 19, 2012, 15:06 »

Уже QAbstractProxyModel находится в QtGui (QAbstractItemModel в QtCore). По идее, эти компоненты не должны зависеть от гуя. Ну там есть зависимость у QAbstractProxyModel от QItemSelection (QtGui), но и QItemSelection может быть не в гуе модуле.

Это я так, взглянув поверхностно. Просто очередной раз поймал себя на мысли, что хочу написать
#include <QtCore/QSortFilterProxyModel> - а тут надо QtGui. Кто разбирался и знает вескую причину, почему эти классы находятся в гуе модуле? И как с этим дела в Qt5?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Декабрь 19, 2012, 15:18 »

а разве можно модель использовать без гуя? например в консольном приложении.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Bepec
Гость
« Ответ #2 : Декабрь 19, 2012, 15:27 »

Мб будет очевидным, но технология Model-View подразумевает 2 сущности, связанные между собой неразрывно. Model, которая представляет собой данные с интерфейсом и View, который так же связан с моделью и представляет её пользователю.

PS зачем модель без View? Мб вам простой контейнер нужен?
Записан
Akon
Гость
« Ответ #3 : Декабрь 19, 2012, 16:35 »

Цитировать
а разве можно модель использовать без гуя? например в консольном приложении.
View - это более широкое понятие, нежели гуй. В частности, консольное представление это тоже View. View часть в кьтовском модел/вью это QAbstractItemView. Проводя параллель к консоли можно иметь QAbstractItemConsoleView, и смысл моего вопроса в том, что прокси модель может быть одной для графического и консольного представления.
Записан
Bepec
Гость
« Ответ #4 : Декабрь 19, 2012, 17:06 »

Если честно я вас не понимайт Улыбающийся В консольном представлении модели как таковой не будет. Ибо там нет быстрой смены, резких переходов и прочего. Будет простейшее представление. Нет, даже не так - тупо отображение контейнера данных. Что вам самим мешает написать модель для консоли? Никаких хитрых требования нет, нагрузки как таковой нет.

PS поправьте, если я ошибаюсь
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #5 : Декабрь 19, 2012, 19:16 »

Вы бы из саркофага вылезали бы. В Qt5 прокси и айтем селекшн модел перенесены в corelib/itemmodels. В 4ке это сделать нельзя по понятным причинам сорц и бинари совместимости.

PS: я не знал, но могу хотя бы разжиться инфой что да как. Сделали прикольно.
Записан
Akon
Гость
« Ответ #6 : Декабрь 20, 2012, 08:06 »

Да, до Qt5 пока руки не дошли. А как она, стабильна? Правильно ли я понял, что зависимость от гуя снята?

Верес: FAR - консольное приложение. Представьте себя архитектором - вам нужно спроектировать модел/вью и на его основе сделать консольную и гиу проги. Где у вас будет прокси-модель?

Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #7 : Декабрь 20, 2012, 14:25 »

Нет, не стабильная:) Но, может, под виндой лучше, чем под маком. Крашей вроде нет, но мелких багов сотни.
Записан
Bepec
Гость
« Ответ #8 : Декабрь 20, 2012, 14:58 »

Испокон веков делали свои модельки Улыбающийся

А Far не упоминайте пожалуйста Улыбающийся Жуткая штука, DN его бил по всем направлениям _)
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #9 : Декабрь 20, 2012, 15:39 »

PS зачем модель без View?

Модель может давать уникальный функционал, который можно использовать и без view, например (грубо говоря) QFileSystemModel.
« Последнее редактирование: Декабрь 20, 2012, 15:41 от Alex Custov » Записан
Bepec
Гость
« Ответ #10 : Декабрь 20, 2012, 15:40 »

Убедили, убедили, я повержен Веселый
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.05 секунд. Запросов: 22.