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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Доступ к свойствам пользовательского типа из QML  (Прочитано 4064 раз)
warlock
Гость
« : Май 16, 2011, 21:37 »

Делаю форму с обработкой ошибок.
Написал свою модель в которой же проверяются данные, например так:
Код:
var result = form.check(title,author,text)
if(result) console.log("YES");
В классе модели есть ассоциативный массив ошибок.
Вот собственно как обеспечить доступ к этому массиву (контейнеру) доступ из QML?
для методов есть замечательный макрос Q_INVOKABLE
Записан
twp
Гость
« Ответ #1 : Май 17, 2011, 13:37 »

любой кастом тип требует регистрации. В данном случае, поскольку это не отображаемый тип, нужно унаследоваться от QObject и зарегистрировать, в общем все так же как и с моделью. Другое дело что может его и не нужно регистрировать а оставить как есть, а доступ сделать через метод модели, который бы возвращал значение по ключу.
Записан
warlock
Гость
« Ответ #2 : Май 22, 2011, 22:50 »

Дело в том, что этот массив находиться в моей модели, которая уже зарегистрирована в QML. Но доступ даже к паблик свойствам запрещен или они просто невидимые.
Даже если я расшарю это свойство своего класса модели как контекст, даст ли это мне доступ ко всем методам этого класса (в данном случае QMap)?

А вот поступлю я скорее всего так, как Вы посоветовали - напишу метод для доступа. Не буду нарушать концепции ООП.
Получиться - отпишусь)
Записан
warlock
Гость
« Ответ #3 : Май 23, 2011, 20:26 »

Все получилось. Действительно красиво выглядит  Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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