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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Работа с сигналами, слотами и их индексация  (Прочитано 984 раз)
SektorCT
Чайник
*
Offline Offline

Сообщений: 75


Просмотр профиля
« : Август 29, 2019, 16:17 »

Всем привет.
Сталкнулся с такой очень не простйо темой для меня, работа с таблицей индексов то что гинерирует Qt в МОК файлах.
Проблема такая, есть класс worker который имеет в себе разные слоты, сигналы, проперти. Таких обьектов типа worker может быть много.
Есть обертка над этим классом, она автоматически должна проверить все слоты, сигналы. Определить их аргументы, правильно их развернуть и свернуть.
Само собою данные через wrapper ползут в qml.
Это все работает, (дальше жирное) НО если я в тестовый проект подключаю наследуемость, у парента создам сигналы и слоты, то как бы в врапера надо уже определять с какого обьекта летит индекс.
И вот это я уже не понимаю как сделать.
Отзовитесь кто с такой индексацией работал или работает.
Уже дня 3 с этим копаюсь и чем дальше тем хуже...
Спасибо заранее отозвавшимся.
Я даже готов оплатить эту помощь с этим решением, просто я не могу осилить такое в короткие сроки.
Записан
ssoft
Бывалый
*****
Offline Offline

Сообщений: 454


Просмотр профиля
« Ответ #1 : Сентябрь 02, 2019, 07:49 »

Для работы с метаинформацией у каждого типа, производного от QObject имеется тип QMetaObject, через который можно получить все QMetaMethod, QMetaEnum, QMetaProperty и их индексы.
Напрямую использовать индексы нежелательно. Используйте вместо индексов QMetaMethod, QMetaEnum, QMetaProperty. В них сразу определено (через указатель на соответствующий экземпляр QMetaObject)  с какого типа объекта "летит индекс".
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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