Russian Qt Forum
Ноябрь 27, 2024, 08:39
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Enum и слоты
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Enum и слоты (Прочитано 3535 раз)
amnet
Гость
Enum и слоты
«
:
Сентябрь 27, 2010, 07:59 »
Добрый день, подскажите пожалуйста почему сигналы и слоты не работают при использовании в качестве их параметров enum
причем если enum заменить обычным int все работает
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Enum и слоты
«
Ответ #1 :
Сентябрь 27, 2010, 08:15 »
1. Можно ж передавать enum преобразовав его в int.
2. Можно попробовать зарегистрировать enum с помощью qRegisterMetaType
Записан
ArchLinux x86_64 / Win10 64 bit
amnet
Гость
Re: Enum и слоты
«
Ответ #2 :
Сентябрь 27, 2010, 10:31 »
Ну как раз int в итоге и использую, а вот причина такого поведения именно с enum мне не совсем понятна
Записан
zenden
Гость
Re: Enum и слоты
«
Ответ #3 :
Сентябрь 27, 2010, 10:51 »
Почему не работают? Если соединять напрямую, то работают.
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: Enum и слоты
«
Ответ #4 :
Сентябрь 27, 2010, 11:24 »
тип энума не зарегестрирован в мета объектной системе (то есть он не знает про тип с именем "МойЭнум" То что тип приводится к инту, у мока также нет информации - для него это такой же тип как и class MyClass)
Записан
SASA
Гость
Re: Enum и слоты
«
Ответ #5 :
Сентябрь 27, 2010, 11:24 »
Всё работает. Коннект может работать только с типами, которые знает куте. Чтоб куте узнал ваш энум используйте макрос Q_ENUM или Q_FLAG.
Записан
amnet
Гость
Re: Enum и слоты
«
Ответ #6 :
Сентябрь 27, 2010, 11:41 »
Прямые соединения не подходят в моем случае.
Спс, понял в какую сторону двигаться теперь разбираюсь с qRegisterMetaType и Q_DECLARE_METATYPE
Кстати сюда же уточняющий вопрос. При использовании AutoConnection
если мы используем в функции connect() указатель на объект(пользовательского класса), который в единственном экземпляре находиться в том же классе где и слот но при этом сигналы посылаются из разных потоков то соединение будет прямым?
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...