Russian Qt Forum

Qt => Вопросы новичков => Тема начата: maranath от Июнь 23, 2011, 13:38



Название: Передача параметра
Отправлено: maranath от Июнь 23, 2011, 13:38
Подскажите пожалуйста мне надо передать текст из lineEdit одной формы в lineEdit другой делаю так

в SP_users.h в секции public пишу:

QString textLine;

в SP_users.cpp пишу

SP_users::SP_users(QWidget *parent) : QMainWindow(parent),
    ui(new Ui::SP_users)

{
    ui->setupUi(this);
    ui->lineEdit->setText(textLine);

в mainWindow.cpp

  SP_users *spu = new SP_users; //()
    spu->textLine = ui->lineEdit->text();

ошибок нет но в textLine ничего не предается что делаю не так?


Название: Re: Передача параметра
Отправлено: kambala от Июнь 23, 2011, 14:25
конструктор SP_users вызывается раньше, чем присвоение spu->textLine = ui->lineEdit->text(), потому в конструкторе в textLine находится пустая строка.


Название: Re: Передача параметра
Отправлено: maranath от Июнь 23, 2011, 17:31
И как быть? Поможите кто чем может :-)


Название: Re: Передача параметра
Отправлено: maranath от Июнь 23, 2011, 19:05
Огромное спасибо K.A.M.B.A.L.A.


SP_users.h:
...
SP_users(QWidget *parent, const QString &text);
...

SP_users.cpp:

SP_users::SP_users(QWidget *parent, const QString &text) : QMainWindow(parent),
    ui(new Ui::SP_users), textLine(text)
{
    ui->setupUi(this);
    ui->lineEdit->setText(textLine); // если переменная textLine больше нигде не используется, то можно text присваивать прямо сюда
    ...
}

mainWindow.cpp:

SP_users *spu = new SP_users(this, ui->lineEdit->text());