保存用户输入的文件名c ++

时间:2019-07-19 18:27:59

标签: c++ qt

我正在编写一个程序来保存文本文件,用户可以在其中输入文件名。我已经打开一个窗口来设置文件名,但是一旦我点击保存,就会出现错误:“ QFSFileEngine :: open:未指定文件名”

我已经编写了用于指定目录和文件名的代码,并且可以正常运行,但是一旦尝试并让用户输入文件名,我将无法再将文件保存到任何目录,并且会收到上述错误消息。

//////这是使我得到错误的代码:

void MainWindow::on_pushButton_clicked()
{
    QFile file;
    QString filename = QFileDialog::getSaveFileName(this, tr("save 
        document"), QDir::currentPath(), tr("documents(*.txt"));
    if(!file.open(QFile::WriteOnly | QFile::Text)){
        QMessageBox::warning(this, "title", "file not open");
    }
}

//////这是有效的代码:

void MainWindow::on_pushButton_clicked()
 {
    QFile file("C:/Users/orlan/Desktop/test");
    if(!file.open(QFile::WriteOnly | QFile::Text)){
        QMessageBox::warning(this, "title", "file not open");
    }
}

预期结果是用户使用选定名称保存文件,但实际结果是错误消息:“ QFSFileEngine :: open:未指定文件名”并且没有文件被保存。

0 个答案:

没有答案