Заблокирован
1

Emit сигнала в конкретный объект

30.01.2018, 09:54. Показов 873. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В продолжение дискуссии в соседнем треде (про thread changed)
Есть один QObject, один сигнал которого подключен к слоту 10-и других QObject-ов.
Можно ли как-то заимитить этот сигнал так, что бы он летел не ко всем объектам, а выборочно, в конкретный объект?
P.S.: разумеется, варианты типа перед emit-ом отключить всех, кроме таргета, заимитить, а потом передоключить - не подходит
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.01.2018, 09:54
Ответы с готовыми решениями:

Произвольная отправка сигнала через emit
Коннект работает не корректно, после сигнала не заходит в нужную функцию помогите пожалуйста emit...

Emit сигнала в QML
Допустим у меня есть квадрат 50х50 Rectangle{ width: 100; height: 100; signal...

Как убрать из дочерних конкретный объект?
Простой 2d платформер, нужно, чтобы двигающаяся платформа делала игрока дочерним объектом, как он...

Можно ли "подписать" в системе какой-нибудь конкретный объект ActiveX, как безопасный?
проблема в следующем - существует АСУ-ая система с доступом через web-интерфейс....

8
487 / 365 / 93
Регистрация: 10.03.2011
Сообщений: 1,513
Записей в блоге: 5
30.01.2018, 11:31 2
Точно нет. Противоречит самому смыслу сигналов-слотов.
Если хочешь, чтобы у тебя всё работало, как сигнал, то либо invoke, либо http://doc.qt.io/qt-5/qsignaltransition.html
0
2 / 2 / 1
Регистрация: 21.05.2013
Сообщений: 129
30.01.2018, 11:45 3
Сигнал, это как радиоэфир. Он испускается для всех. Коннектом ты говоришь какие объекты (станции) его умеют принимать.
Попробуй создавать и рвать коннекты до испускания сигнала.
0
487 / 365 / 93
Регистрация: 10.03.2011
Сообщений: 1,513
Записей в блоге: 5
30.01.2018, 12:09 4
banzay89, смысла нет, слишком дорого. Проще через очередь сообщений делать.

Добавлено через 10 минут
Цитата Сообщение от icpu Посмотреть сообщение
Ошибся. Это от конечного автомата.
0
Заблокирован
30.01.2018, 12:51  [ТС] 5
Цитата Сообщение от icpu Посмотреть сообщение
смысла нет, слишком дорого. Проще через очередь сообщений делать.
я об этом сразу казал:
Цитата Сообщение от Digital_Cry Посмотреть сообщение
разумеется, варианты типа перед emit-ом отключить всех, кроме таргета, заимитить, а потом передоключить
Цитата Сообщение от banzay89 Посмотреть сообщение
Сигнал, это как радиоэфир
да я как бы не новичок в Qt
Я надеялся на какой-то грязных хак

Добавлено через 3 минуты

Не по теме:

icpu, у тебя какой ник на геймеве? :D

0
487 / 365 / 93
Регистрация: 10.03.2011
Сообщений: 1,513
Записей в блоге: 5
30.01.2018, 13:32 6

Не по теме:

Такой же, как на хабре.



Добавлено через 1 минуту
Цитата Сообщение от Digital_Cry Посмотреть сообщение
Я надеялся на какой-то грязных хак
invoke и есть грязный хак
0
Digital_Cry
30.01.2018, 13:47  [ТС]
  #7

Не по теме:

Цитата Сообщение от icpu Посмотреть сообщение
Такой же, как на хабре.
а на хабре какой? )
твой профиль? :)
Кликните здесь для просмотра всего текста
https://gamedev.ru/users/?id=51131

0
icpu
30.01.2018, 15:34
  #8

Не по теме:

Нееееееееееет*

*Да.

0
Digital_Cry
30.01.2018, 15:56  [ТС]     Emit сигнала в конкретный объект
  #9

Не по теме:

Цитата Сообщение от icpu Посмотреть сообщение
*Да.
редко там бываешь, по этому я тебя и не знаю :)

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.01.2018, 15:56

$emit
Почему не передается значение через $emit? methods: { enterUser() { ...

emit
Прошу помощи с вылавливанием сигнала... Сигнал описан как void CountFinished(DiagramType,...

ошибка с emit
Такой вопрос: Почему я не могу послать сигнал из переопределенного класса QGraphicsItem, из функции...

Emit sender
Возникла необходимость так сказать "обновить" данные, т.е. есть ComboBox и есть lineedit, значение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru