|
3 / 3 / 0
Регистрация: 01.10.2015
Сообщений: 28
|
|
Как определить sender() и/или senderSignalIndex() в фанкторе02.02.2021, 20:45. Показов 3021. Ответов 6
У QObject есть перегрузка статического метода connect(const QObject *sender, PointerToMemberFunction signal, Functor functor), в слотах QObject объекта можно вызвать sender() или senderSignalIndex() и узнать кто отправил сигнал, как узнать в фанкторе какой QObject объект отправил сигнал вызвавший эту функцию или лямбду? Заранее благодарен за ответ!
0
|
|
| 02.02.2021, 20:45 | |
|
Ответы с готовыми решениями:
6
Аналог Sender из Delphi в java. Есть ли? Или как получить ссылку на объект Как определить тип Sender'a объекта при использовании динамически созданных объекитах Как работает класс Sender? |
|
фрилансер
6472 / 5688 / 1131
Регистрация: 11.10.2019
Сообщений: 15,168
|
|
| 02.02.2021, 21:51 | |
|
bubus, в квадратных скобках лямбды нужно захватить указатель на источник. Больше, наверное, никак. Либо с костылями какими-нибудь
0
|
|
|
3 / 3 / 0
Регистрация: 01.10.2015
Сообщений: 28
|
|
| 02.02.2021, 22:07 [ТС] | |
|
Тоже об этом думал, но тогда получается что только лямбду можно использовать, а свободную функцию не получится. Думал может ещё есть какой-то метод, смотрел исходники, там тоже ничего интересного не увидел
. Вроде как и senderSignalIndex(), в случае с лямбдой, должен вернуть нужный индекс. Как попробую, отпишусь.
0
|
|
|
фрилансер
6472 / 5688 / 1131
Регистрация: 11.10.2019
Сообщений: 15,168
|
||||||
| 02.02.2021, 22:24 | ||||||
|
bubus, скажу больше - лямбду/статическую функцию даже открепить нельзя через disconnect ))
за такими удобствами - к старому синтаксису с "SIGNAL/SLOT" а удобство лямбд в краткости:
теоретически, конечно можно сделать трамплин в виде слота со старым синтаксисом, в котором достать sender(), а затем уже вызвать нужный функтор, имя которого будет лежать в свойстве объекта setProperty("myfunctor",id) / property("myfunctor")по идентификатору нужный функтор находить через мапу std::map, например
0
|
||||||
|
3 / 3 / 0
Регистрация: 01.10.2015
Сообщений: 28
|
|
| 08.02.2021, 23:38 [ТС] | |
|
Моя задача решилась через небольшой QObject класс посредник, которым владеет не QObject класс, в котором и осущевствляется коннект с лямбдой.
0
|
|
|
1568 / 741 / 321
Регистрация: 02.05.2020
Сообщений: 1,660
|
|||||||
| 09.02.2021, 11:08 | |||||||
почему отвязка работает*
0
|
|||||||
|
фрилансер
6472 / 5688 / 1131
Регистрация: 11.10.2019
Сообщений: 15,168
|
|
| 09.02.2021, 11:16 | |
|
kapbepucm, https://doc.qt.io/qt-5/qobject.html#disconnect
случаи 1 и 2 возможны, но при этом сигнал отключается от всех получателей/слотов а вот случай 3 - отключить один конкретный получатель (в данном случае - функтор) уже никак. Только все разом по 1 и 2 но если случай 1 и 2 устраивают - то да, будем считать, что это возможно
1
|
|
| 09.02.2021, 11:16 | |
|
Помогаю со студенческими работами здесь
7
Как закинуть sender as button в функцию? Как получить имя label из sender?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|