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

Posted

技术标签:

【中文标题】在qt中将值从一个按钮传递给另一个按钮【英文标题】:Passing a value from one Button to other in qt 【发布时间】:2019-07-09 12:01:22 【问题描述】:

我想将 on_pushButton_clicked 中的 QFile 数据类型“input_file”传递给 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);


任何有关这方面的帮助都将得到满足...

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

【参考方案2】:

你应该让 input_file 成为 MainWindow 的一个字段。

【讨论】:

以上是关于在qt中将值从一个按钮传递给另一个按钮的主要内容,如果未能解决你的问题,请参考以下文章