Russian Qt Forum

Qt => Вопросы новичков => Тема начата: QPeter от Март 16, 2014, 16:43



Название: Передать значение в другое окно.
Отправлено: QPeter от Март 16, 2014, 16:43
Задача такая: Нужно нажать на кнопку в главном окне, в следствии чего откроется второе окно в котором будут производится вычисления с переменной из главного окна.

На сколько я понимаю нужно создать сигнал который вызываться сразу после открытия 2 окна и передавать значение переменной.

Создаем сигнал в заголовочном файле.

Код:
...
 signals:
    void ToFilePath(const QString &str);
...
Вызываем 2ое окно и сигнал
Код:
    
void Widget::on_pushButton_4_clicked()
{
if (_result_file)
    {
        QMessageBox::information(this, "Отказано", "Окно уже открыто.");
        _result_file->raise();
        _result_file->activateWindow();
    }
    else
    {
        _result_file = new result;
        _result_file->setAttribute(Qt::WA_DeleteOnClose);
        _result_file->show();//<<<= вызов 2ого окна
    }
    QString path;
    path=ui->cbPath->currentText();
    emit ToFilePath(path);//вызываем сигнал
}

И вся проблема в том что не знаю как принять его во втором окне.
Создал слот, но как законектить их не знаю.(
Код:
connect( ???,SIGNAL(ToFilePath(QString)),this,SLOT(Inform(QString)));


Название: Re: Передать значение в другое окно.
Отправлено: Old от Март 16, 2014, 16:46
Для чего все это?
Передавайте это значение в том же конструкторе result, ну через метод в крайнем случае.
Для чего наворачивать весь этот цирк с сигналами? :)


Название: Re: Передать значение в другое окно.
Отправлено: QPeter от Март 16, 2014, 17:11
Немного неловкий вопрос...
А как в конструкторе result передать строковую переменную?)


Название: Re: Передать значение в другое окно.
Отправлено: Old от Март 16, 2014, 17:12
А как в конструкторе result передать строковую переменную?)
Код
C++ (Qt)
result::result( const QString &val )
 

Но все таки, сначала C++ потом Qt.


Название: Re: Передать значение в другое окно.
Отправлено: kambala от Март 16, 2014, 18:59
подобная тема появляется у нас на форуме примерно раз в месяц, хоть бы уж поиском пользоваться учился