Название: Передача дополнительного параметра в слот Отправлено: vladimirse от Апрель 01, 2017, 01:10 Доброго времени суток, уважаемые!
Подскажите пожалуйста, можно ли реализовать подобное: Код
В общем в слот требуется передать дополнительный параметр. Название: Re: Передача дополнительного параметра в слот Отправлено: Mikhail от Апрель 01, 2017, 08:37 Нет.
Читайте документацию. Название: Re: Передача дополнительного параметра в слот Отправлено: Old от Апрель 01, 2017, 09:23 Можно, но нужно использовать новые коннекты.
А дальше, либо использовать лямбды, либо std::bind. Название: Re: Передача дополнительного параметра в слот Отправлено: qate от Апрель 01, 2017, 10:47 sender->setProperty("theX", x)
emit sender(thePoint) Название: Re: Передача дополнительного параметра в сл Отправлено: vladimirse от Апрель 02, 2017, 18:46 Всем спасибо за помощь!
Решил следующим образом (для истории): Код
В функцию передается QPoint из customContextMenuRequested и 11. Название: Re: Передача дополнительного параметра в слот Отправлено: __Heaven__ от Апрель 03, 2017, 09:21 Предлагаю [=] заменить на [this, x]
Название: Re: Передача дополнительного параметра в сл&# Отправлено: qate от Апрель 03, 2017, 13:15 В функцию передается QPoint из customContextMenuRequested и 11. а что такое х ? локальная переменная или статическая или классовая ? Название: Re: Передача дополнительного параметра в сл&# Отправлено: gil9red от Апрель 03, 2017, 13:34 В функцию передается QPoint из customContextMenuRequested и 11. а что такое х ? локальная переменная или статическая или классовая ? Там локальная переменная. Насколько я помню такая штука называется "замыкание", после выполнения того кода у лямбды будет "зашито" вместо x значение 11, так что изменение x ничего не поменяет Название: Re: Передача дополнительного параметра в сл&# Отправлено: qate от Апрель 03, 2017, 14:33 Там локальная переменная. Насколько я помню такая штука называется "замыкание", после выполнения того кода у лямбды будет "зашито" вместо x значение 11, так что изменение x ничего не поменяет если локальная, тогда я не совсем понимаю зачем ТС нужно 'x' у себя в слоте через сигнал написал бы там сразу 11 там и былобы тоже самое Название: Re: Передача дополнительного параметра в сл&# Отправлено: vladimirse от Апрель 04, 2017, 10:23 Там локальная переменная. Насколько я помню такая штука называется "замыкание", после выполнения того кода у лямбды будет "зашито" вместо x значение 11, так что изменение x ничего не поменяет если локальная, тогда я не совсем понимаю зачем ТС нужно 'x' у себя в слоте через сигнал написал бы там сразу 11 там и былобы тоже самое Эта переменная создана в рамках эксперимента. Название: Re: Передача дополнительного параметра в слот Отправлено: vladimirse от Апрель 04, 2017, 10:24 Предлагаю [=] заменить на [this, x] Спасибо за подсказку! :-) |