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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Так что со слотами?  (Прочитано 4910 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Май 05, 2015, 17:22 »

Добрый день

Сконнектил "в новом стиле" используя адреса. Работает, хотя слот не объявлял и Q_OBJECT для приемника не писал. Верно ли я понимаю что moc не создается (не нужен) и новый коннект чисто на темплейтах? Please "ткните носиком" где это написано

Спасибо
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3258


Просмотр профиля
« Ответ #1 : Май 05, 2015, 17:31 »

Да, новый коннект чисто на шаблонах. moc нужен чтобы а) генерить сигналы б) генерить мета инфу (получение методов\энумов по имени). Для коннекта слотов теперь б) не нужно
Записан
twp
Гость
« Ответ #2 : Май 07, 2015, 12:14 »

New Signal Slot Syntax
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #3 : Май 07, 2015, 12:29 »

Слишком лаконично
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #4 : Май 08, 2015, 09:26 »

иногда этот механизм не срабатывает и приходится пользоваться старым стилем, например когда у сигнала есть параметры а слота нет, у меня почему то в данной ситуации тупо не компилируется и ругается на строку с коннектом. подставив SIGNAL(),SLOT() все работет...
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #5 : Май 08, 2015, 09:34 »

иногда этот механизм не срабатывает и приходится пользоваться старым стилем, например когда у сигнала есть параметры а слота нет, у меня почему то в данной ситуации тупо не компилируется и ругается на строку с коннектом. подставив SIGNAL(),SLOT() все работет...
Я постоянно ошибаюсь в SIGNAL/SLOT - они же "просто строки", приходится смотреть уже в рантайме, уходит много времени. Новый сынтаксыс - здорово, но как всегда с этими гребаными темплейтами не поймешь что не так. Вот напр вчера
Код
C++ (Qt)
connect(this, &MyClass::SignalNewFrame, this->m_ScrollArea->widget(), &QWidget::update);
Не компилит, говорит что ни один из прототипов не подходит - но почему  Непонимающий
Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #6 : Май 08, 2015, 10:09 »

иногда этот механизм не срабатывает и приходится пользоваться старым стилем, например когда у сигнала есть параметры а слота нет, у меня почему то в данной ситуации тупо не компилируется и ругается на строку с коннектом. подставив SIGNAL(),SLOT() все работет...
Я постоянно ошибаюсь в SIGNAL/SLOT - они же "просто строки", приходится смотреть уже в рантайме, уходит много времени. Новый сынтаксыс - здорово, но как всегда с этими гребаными темплейтами не поймешь что не так. Вот напр вчера
Код
C++ (Qt)
connect(this, &MyClass::SignalNewFrame, this->m_ScrollArea->widget(), &QWidget::update);
Не компилит, говорит что ни один из прототипов не подходит - но почему  Непонимающий
Потому что QWidget содержит более одной сигнатуры update, и компилятор не может сам догадаться, какую из доступных сигнатур использовать. решение.
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #7 : Май 08, 2015, 10:55 »

Потому что QWidget содержит более одной сигнатуры update, и компилятор не может сам догадаться, какую из доступных сигнатур использовать. решение.
Понял, спасибо
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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