在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;
...
};
我想将 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;
...
};