Название: Enum и слоты Отправлено: amnet от Сентябрь 27, 2010, 07:59 Добрый день, подскажите пожалуйста почему сигналы и слоты не работают при использовании в качестве их параметров enum
причем если enum заменить обычным int все работает ??? Название: Re: Enum и слоты Отправлено: kuzulis от Сентябрь 27, 2010, 08:15 1. Можно ж передавать enum преобразовав его в int.
2. Можно попробовать зарегистрировать enum с помощью qRegisterMetaType Название: Re: Enum и слоты Отправлено: amnet от Сентябрь 27, 2010, 10:31 Ну как раз int в итоге и использую, а вот причина такого поведения именно с enum мне не совсем понятна ???
Название: Re: Enum и слоты Отправлено: zenden от Сентябрь 27, 2010, 10:51 Почему не работают? Если соединять напрямую, то работают.
Название: Re: Enum и слоты Отправлено: Авварон от Сентябрь 27, 2010, 11:24 тип энума не зарегестрирован в мета объектной системе (то есть он не знает про тип с именем "МойЭнум" То что тип приводится к инту, у мока также нет информации - для него это такой же тип как и class MyClass)
Название: Re: Enum и слоты Отправлено: SASA от Сентябрь 27, 2010, 11:24 Всё работает. Коннект может работать только с типами, которые знает куте. Чтоб куте узнал ваш энум используйте макрос Q_ENUM или Q_FLAG.
Название: Re: Enum и слоты Отправлено: amnet от Сентябрь 27, 2010, 11:41 Прямые соединения не подходят в моем случае.
Спс, понял в какую сторону двигаться теперь разбираюсь с qRegisterMetaType и Q_DECLARE_METATYPE Кстати сюда же уточняющий вопрос. При использовании AutoConnection если мы используем в функции connect() указатель на объект(пользовательского класса), который в единственном экземпляре находиться в том же классе где и слот но при этом сигналы посылаются из разных потоков то соединение будет прямым? |