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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Enum и слоты  (Прочитано 3529 раз)
amnet
Гость
« : Сентябрь 27, 2010, 07:59 »

Добрый день, подскажите пожалуйста почему сигналы и слоты не работают при использовании в качестве их параметров enum
причем если enum заменить обычным int все работает Непонимающий
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1 : Сентябрь 27, 2010, 08:15 »

1. Можно ж передавать enum преобразовав его в int.
2. Можно попробовать зарегистрировать enum с помощью qRegisterMetaType
Записан

ArchLinux x86_64 / Win10 64 bit
amnet
Гость
« Ответ #2 : Сентябрь 27, 2010, 10:31 »

Ну как раз int в итоге и использую, а вот причина такого поведения именно с enum мне не совсем понятна   Непонимающий
Записан
zenden
Гость
« Ответ #3 : Сентябрь 27, 2010, 10:51 »

Почему не работают? Если соединять напрямую, то работают.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #4 : Сентябрь 27, 2010, 11:24 »

тип энума не зарегестрирован в мета объектной системе (то есть он не знает про тип с именем "МойЭнум" То что тип приводится к инту, у мока также нет информации - для него это такой же тип как и class MyClass)
Записан
SASA
Гость
« Ответ #5 : Сентябрь 27, 2010, 11:24 »

Всё работает. Коннект может работать только с типами, которые знает куте. Чтоб куте узнал ваш энум используйте макрос Q_ENUM или Q_FLAG.
Записан
amnet
Гость
« Ответ #6 : Сентябрь 27, 2010, 11:41 »

Прямые соединения не подходят  в моем случае.
Спс, понял в какую сторону двигаться теперь разбираюсь с qRegisterMetaType и Q_DECLARE_METATYPE
Кстати  сюда же уточняющий вопрос. При использовании AutoConnection
если мы используем в функции connect() указатель на объект(пользовательского класса), который в единственном экземпляре находиться в том же классе где и слот но при этом сигналы посылаются из разных потоков то соединение будет прямым?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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