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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Передать значение в другое окно.  (Прочитано 3090 раз)
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)));
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #1 : Март 16, 2014, 16:46 »

Для чего все это?
Передавайте это значение в том же конструкторе result, ну через метод в крайнем случае.
Для чего наворачивать весь этот цирк с сигналами? Улыбающийся
Записан
QPeter
Гость
« Ответ #2 : Март 16, 2014, 17:11 »

Немного неловкий вопрос...
А как в конструкторе result передать строковую переменную?)
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #3 : Март 16, 2014, 17:12 »

А как в конструкторе result передать строковую переменную?)
Код
C++ (Qt)
result::result( const QString &val )
 

Но все таки, сначала C++ потом Qt.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #4 : Март 16, 2014, 18:59 »

подобная тема появляется у нас на форуме примерно раз в месяц, хоть бы уж поиском пользоваться учился
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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