Передача значения от одной кнопки к другой в qt - PullRequest
0 голосов
/ 09 июля 2019

Я хочу передать QFile тип данных "input_file" из on_pushButton_clicked в on_pushButton_2_clicked .

void MainWindow::on_pushButton_clicked()
{
    QString filepath = QFileDialog::getOpenFileName(
          this,
          "Open Document",
          QDir::currentPath(),
          "All files (*.*) ;; Document files (*.doc *.rtf);; PNG files (*.png)");

    QFile input_file(filepath);
    if(!input_file.open(QIODevice::ReadOnly))
        QMessageBox::information(0,"info",input_file.errorString());

    ui->textBrowser->setText(input_file);
}

void MainWindow::on_pushButton_2_clicked()
{
    QTextStream input_text_stream(&input_file);

}

Любая помощь по этому вопросу будет оценена ...

Ответы [ 2 ]

0 голосов
/ 09 июля 2019

Определить input_file как элемент MainWindow.Как и вы бы передать ссылку на переменную стека.Как только эта переменная выходит из области видимости, ссылка становится недействительной.Делая input_file членом MainWindow, обе функции получают доступ к дескриптору файла.

class MainWindow {
   ...
private:
   QFile input_file;
   ...
};
0 голосов
/ 09 июля 2019

Вы должны сделать input_file полем MainWindow.

...