在qt中将一个值从一个按钮传递给另一个

Passing a value from one Button to other in qt

我想将 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);

}

如有任何帮助,我们将不胜感激...

您应该使 input_file 成为 MainWindow 的一个字段。

将 input_file 定义为 MainWindow 的成员。正如您将传递对堆栈变量的引用一样。一旦该变量超出范围,引用就会无效。使 input_file 成为 MainWindow 的成员使两个函数都可以访问该文件句柄。

class MainWindow {
   ...
private:
   QFile input_file;
   ...
};