Russian Qt Forum
Ноябрь 01, 2024, 10:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Не работает пример из книги  (Прочитано 2263 раз)
palya
Гость
« : Январь 28, 2016, 08:34 »

Подскажите пожалуйста, почему не получается пример из книги Шлее, а именно, не работает connect?
На табло plblDisplay не отображается вводимый в полях ptxt и ptxtPassword.
Код:
#include <QtWidgets>
int main (int argc, char** argv)
{
QApplication app(argc, argv);
QWidget wgt;
QLabel* plblDisplay = new QLabel;
plblDisplay->setFrameStyle(QFrame::Box | QFrame::Raised);
plblDisplay->setLineWidth(2);
plblDisplay->setFixedHeight(50);
QLabel* plblText = new QLabel("&Text:");
QLineEdit* ptxt = new QLineEdit;
plblText->setBuddy(ptxt);
QObject::connect(ptxt, SIGNAL(textChanged(const QString$)),
plblDisplay, SLOT(setText(const QString$))
);
QLabel* plblPassword = new QLabel ("&Password:");
QLineEdit* ptxtPassword = new QLineEdit;
plblPassword->setBuddy(ptxtPassword);
ptxtPassword->setEchoMode(QLineEdit::Password);
QObject::connect(ptxtPassword, SIGNAL(textChanged(const QString$)),
plblDisplay, SLOT(setText(const QString$))
);
//Layout setup
QVBoxLayout* pvbxLayout = new QVBoxLayout;
pvbxLayout->addWidget(plblDisplay);
pvbxLayout->addWidget(plblText);
pvbxLayout->addWidget(ptxt);
pvbxLayout->addWidget(plblPassword);
pvbxLayout->addWidget(ptxtPassword);
wgt.setLayout(pvbxLayout);
wgt.show();
return app.exec();
}
Записан
Bepec
Гость
« Ответ #1 : Январь 28, 2016, 08:56 »

QString$? Мб я чего то не знаю о сигнал слотах, но такого $ я не припоминаю.
Записан
ksk-
Самовар
**
Offline Offline

Сообщений: 178



Просмотр профиля
« Ответ #2 : Январь 28, 2016, 08:57 »

Видимо, должно быть "const QString&"?
Записан
palya
Гость
« Ответ #3 : Январь 28, 2016, 09:36 »

Спасибо. Не заметил.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 23.