在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中将值从一个按钮传递给另一个按钮的主要内容,如果未能解决你的问题,请参考以下文章

在 Asp.net MVC 中将值从视图传递到控制器

在 swift 5.2 con Alamofire 中将数据(json)传递给另一个控制器

如何在 Vue JS 中将更新的值从父组件发送到子组件?

如何将检测到的人脸从函数传递到 Qt 中的单独按钮槽

将按下的按钮传递给另一个 View JSON

如何在 QWebEngineView 中将值从 QML 传递到 JavaScript