Когда вы запускаете вашу программу, вы должны заметить на консоли следующий вывод ошибки Qt ..
Object::connect: No such slot QTextEdit::append(lineEdit.text()) in ..
Вам нужно будет квалифицировать ссылку append
в своем вызове на connect
с именем переменной QTextEdit
textArea
.
Но это не сильно поможет, потому что вы можете указывать только имена методов сигналов и слотов и типы параметров при вызове connect
, поэтому вы не можете указать lineEdit.text()
там.
Поскольку слот append()
ожидает QString
, в идеале вы хотели бы подключить сигнал, который включает QString
, но такого сигнала нет для QLineEdit
s.
В значительной степени вы сами должны написать слот, к которому можно подключиться к returnPressed()
и позвонить оттуда textArea.append(lineEdit.text())
. Вам нужно будет создать некоторый подкласс QObject
, чтобы написать слот, который обычно будет означать создание подкласса QWidget
и помещение всего кода сборки вашего пользовательского интерфейса в его конструктор.
Вы также можете заметить, что ваша программа падает, когда вы закрываете ее. Поскольку Qt любит управлять уничтожением большинства QObject
s, обычно лучше выделить все QObject
экземпляров в куче с помощью new
. Технически это не всегда необходимо, но гораздо проще:)