crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Свое творение на тему свойств что ли выложить?, У меня модель, которая читает свойства прямо от QObject
Swappp
  опции профиля:
сообщение 26.11.2007, 16:38
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 20
Регистрация: 26.11.2007
Пользователь №: 25

Спасибо сказали: 1 раз(а)




Репутация:   1  


Свое творение на тему свойств что ли выложить? :) У меня модель, которая читает свойства прямо от QObject, которые помечены флагом USER. Правда это мой первый опыт общения с моделями, по этому не уверен, что все правильно, но вроде работает... Вложенные свойства реализуются путем объявления свойства типа QObject*, и соответственно выводятся все свойства этого объекта, при этом важно, что бы была правильная иерархия самих объектов.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Admin
  опции профиля:
сообщение 26.11.2007, 16:41
Сообщение #2


Администратор
****

Группа: Администратор
Сообщений: 644
Регистрация: 9.10.2007
Из: crossplatform.ru
Пользователь №: 1

Спасибо сказали: 17 раз(а)




Репутация:   2  


Ну раз понеслась такая пьянка, выкладывай! :)
Только незабудь про описание, указать авторство и желательно скриншет.

Тогда тему снова разделю, и выложу на сайте...
Чувствуется нужно будет реализовывать функционал похожий на codeproject!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Багира
  опции профиля:
сообщение 28.11.2007, 20:18
Сообщение #3


Злоба_дня
***

Группа: Администратор
Сообщений: 314
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 2

Спасибо сказали: 16 раз(а)




Репутация:   4  


Цитата(Swappp @ 26.11.2007, 17:38) *
Свое творение на тему свойств что ли выложить? :) У меня модель, которая читает свойства прямо от QObject, которые помечены флагом USER. Правда это мой первый опыт общения с моделями, по этому не уверен, что все правильно, но вроде работает... Вложенные свойства реализуются путем объявления свойства типа QObject*, и соответственно выводятся все свойства этого объекта, при этом важно, что бы была правильная иерархия самих объектов.
Ждем-с. :rolleyes:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Swappp
  опции профиля:
сообщение 29.11.2007, 1:43
Сообщение #4


Студент
*

Группа: Новичок
Сообщений: 20
Регистрация: 26.11.2007
Пользователь №: 25

Спасибо сказали: 1 раз(а)




Репутация:   1  


Вот что получилось. В комплекте класс PropertiesModel и PropertiesDelegate и простой пример. Первый - модель, второй - делегат, в который добавлен выпадающей список для enum'ов. При создании модели, в конструктор передается объект, свойства которого надо изменять и отображать. Свойства соответственно описываются стандартным для Qt образом с обязательным указанием флага USER. Для реализации вложенных свойств создается ReadOnly свойство типа QObject*, который хранит указатель на другой объект со свойствами. Для использование свойств типа enum, надо соответствующий enum объявить с помощью Q_ENUMS.
Пока есть две проблемы:
1. На сколько критично правильное число строк выдаваемое rowCount()? На текущей момент выдается число всех свойств, а индексы создаются только для свойств с флагом USER.
2. Есть некоторые проблемы с вложенными свойствами. По задаче, для которой я это делал, требуется, при изменении одного из параметров заменять объект в одном из свойств на новый, возможно другого типа. Так вот, если есть только один уровень вложенности, то проблем не возникает, просто при изменении любого параметра генерируется сигнал layoutChanged, а при большем уровне вложенности (когда все открыто), все вылетает... Есть вариант все сворачивать, но это не очень удобно... Так же можно попробовать вообще запретить пользователю сворачивание, и тогда все сворачивать перед изменением и разворачивать после.
Прикрепленные файлы
Прикрепленный файл  properties_0.1.tar.gz ( 2.75 килобайт ) Кол-во скачиваний: 318
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Admin
  опции профиля:
сообщение 29.11.2007, 13:36
Сообщение #5


Администратор
****

Группа: Администратор
Сообщений: 644
Регистрация: 9.10.2007
Из: crossplatform.ru
Пользователь №: 1

Спасибо сказали: 17 раз(а)




Репутация:   2  


Выложил: Property Model
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 17.9.2019, 23:48