Название: QObject::connect: No such slot QTextEdit::append("Work!") in ../simply/main.cpp: Отправлено: Павелъ от Сентябрь 12, 2015, 19:43 Доброго времени суток. Почему у меня коннект не создаётся.
Я хочу по нажатию на кнопку, чтобы текст добавлялся в текстовое поле. А вместо этого ничего не происходит и вываливается вот это: Код: QObject::connect: No such slot QTextEdit::append("Work!") in ../simply/main.cpp:37 Вот сам код: Код: #include <QApplication> Что я делаю не так? Название: Re: QObject::connect: No such slot QTextEdit::append("Work!") in ../simply/main.cpp: Отправлено: gil9red от Сентябрь 12, 2015, 19:48 Потому-что в connect передается тип значений, а не сами значения. Для передачи самих значений в connect можно воспользоваться лябмдами.
В вашем случаи, можно в слоте передать функцию, в которой и будет вызываться append Название: Re: QObject::connect: No such slot QTextEdit::append("Work!") in ../simply/main.cpp: Отправлено: Павелъ от Сентябрь 12, 2015, 19:56 Потому-что в connect передается тип значений, а не сами значения. Для передачи самих значений в connect можно воспользоваться лябмдами. В вашем случаи, можно в слоте передать функцию, в которой и будет вызываться append А как это сделать. Такой вариант не прокатывает. Код: void my_append(QTextEdit *txt, QString str) Код: QObject::connect(btn,SIGNAL(clicked(bool)),SLOT(my_append(txt,"Work!"))); Название: Re: QObject::connect: No such slot QTextEdit::append("Work!") in ../simply/main.cpp: Отправлено: gil9red от Сентябрь 12, 2015, 22:51 Да нет же, типы параметров сигнала и слота, и их количество должно в connect совпадать.
И слот -- это метод наследника QObject, находящийся в группе slots Минимально рабочий вариант: Код
Название: Re: QObject::connect: No such slot QTextEdit::append("Work!") in ../simply/main.cpp: Отправлено: Павелъ от Сентябрь 14, 2015, 16:48 Да нет же, типы параметров сигнала и слота, и их количество должно в connect совпадать. И слот -- это метод наследника QObject, находящийся в группе slots Спасибо, работает! |