Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 3
1

Слоты и сигналы Qt

22.02.2016, 16:03. Показов 1483. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Может мне кто-нибудь подскажет или я не замечаю чего-то очевидного. В общем перейду к описанию проблемы.
Есть форма на которой я кодом создаю QPushButton и этой кнопке хочу присвоить свой слот при сигнале clicked().
Прописываю это вот так QObject::connect(ReadMore, SIGNAL(clicked()), this, SLOT(ReadMoreInfo(info)));
ReadMore - указатель на мою кнопку, ReadMoreInfo соответственно мой слот который расположен в этом же классе.
И когда вызывается функция где я создаю кнопку и коннект к ней то Qt выдает ошибку QObject::connect: No such slot Rent::ReadMoreInfo(AutoInfo*info). Но если убрать параметр из слота, то всё работает. Не могу понять почему не хочет работать с параметрами, подскажите.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.02.2016, 16:03
Ответы с готовыми решениями:

Сигналы и слоты
добрый ! подскажите, как вызвать функцию через нажатие кнопки? собсна то, что нужно вызвать. ...

Сигналы и слоты
Заезженная тема, со стороны простая, не думал, что найду тут проблемы, но! Есть основной класс...

Слоты и сигналы
Хочу связать таймер и кнопку (на кнопке пишу миллисекунду времени видео, выясненного средствами...

Сигналы и слоты
Начал изучать Qt и возникла такая проблема. Как я понял сигнал можно соединить только с методом,...

5
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
22.02.2016, 16:12 2
Kiril19, Количество параметров у слота должно быть не больше, чем у сигнала.
1
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 3
22.02.2016, 16:35  [ТС] 3
Спасибо, а то вчера пол ночи ломал голову и нигде найти не мог почему так)

Добавлено через 17 минут
Байт, только вот как тогда быть если нужно передать аргумент?
0
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
22.02.2016, 17:41 4
Цитата Сообщение от Kiril19 Посмотреть сообщение
пол ночи ломал голову
Голову береги. Еще пригодится. Еще бы пол-ночи - и сломал бы таки
Цитата Сообщение от Kiril19 Посмотреть сообщение
нигде найти не мог почему так
В любой книжке для начинающих, и конечно, в документации.
Цитата Сообщение от Kiril19 Посмотреть сообщение
если нужно передать аргумент?
Зачем? Чего ты хочешь? Узнать, какая именно кнопка нажата? Для этого есть объект sender, доступный в любом слоте. Его можно взять, проанализировать (хотя бы взять его objectName) и соответственно поступить.
А что такое твой AutoInfo*info, я Увы! не знаю. Но он вполне может быть членом класса с соответствующим к нему доступом.

Добавлено через 4 минуты
Чуток теории. Слот - это конечно обычный метод. Но есть маленькая хитрость. Ему еще невидимо передается параметр sender. Другие фрэймворки (типа Бюльдера) его показывают явно. А Кутя считает, что это не к чему. Как параметр this во всех методах данного класса.
0
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 3
22.02.2016, 19:16  [ТС] 5
Байт, какая кнопка будет нажата у меня определяется, мне нужно было передавать в слот объект с которого будет браться информация для новой формы, но увы аргумент в слот передает сигнал.
В общем решил это созданием нового класса и унаследованием от QPushButton. При создании кнопки теперь передаю свой объект конструктору, и в конструкторе создал коннект с сигналом clicked() и моим слотом, в котором срабатывает сигнал передающий мой аргумент(который я передавал в конструктор) слоту. Ну и в нужном мне классе делаю коннект с новым сигналом) Немного запутано, но суть уловить можно
0
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
22.02.2016, 19:47 6
Цитата Сообщение от Kiril19 Посмотреть сообщение
Немного запутано, но суть уловить можно
Дык, ну тогда мне учить тебя нечему
0
22.02.2016, 19:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.02.2016, 19:47
Помогаю со студенческими работами здесь

Сигналы и слоты
Столкнулся с типичной для многих новичков в Qt проблемой, связанное с сигналами и слотами. Есть...

Сигналы и Слоты
Помогите разобраться. У меня есть некий объект ContextMenu из которого хочу послать сигнал в...

Сигналы и слоты
Смысл следующий: Вводим число в spinBox, это число, с помощью сигнала, передаётся слоту объекта...

Сигналы\слоты
что можно сделать со сл. кодом ...


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

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