qt С++ QDialog открыть новый файл

После почти недели поиска и чтения документации по qt я все еще не могу понять, как использовать QDialog для создания файла NEW на моем жестком диске для записи данных. Я могу открыть файл и записать данные, если файл уже существует, но если я попытаюсь создать НОВЫЙ файл, я получу сообщение о том, что файл не существует. Я могу создать новый файл, если я не использую QDialog путем жесткого кодирования пути и имени файла, но хотел бы иметь возможность выбирать местоположение файла и получать обычные сообщения; например, что файл уже существует, и спросил, можно ли перезаписать его. Вот фрагмент моей последней попытки:

void MainWindow::on_pushButton_3_clicked()
{
    QString filename = QFileDialog::getOpenFileName(
            this,
            tr("Sensor data"),
            "C//",
            "Text File (*.txt)"
            );
    QFile file(filename);
    if (!file.open(QIODevice::ReadWrite))
    {
        QMessageBox::information(0,"info",file.errorString());
        return;
    }
    QTextStream out(&file);

    out<<"string1";
    out<<"\n";
    out<<"string2";
    out<<"\n";
    out<<"string3";
    out<<"\n";
    out<<"string4";
    out<<"\n";
    out<<"string5";
    file.close();
}

Можно ли использовать QDialog для этой цели? Если нет, пожалуйста, укажите мне информацию о том, как это делается.

Заранее спасибо!


person d_wheel    schedule 20.12.2015    source источник


Ответы (2)


Я думаю, вам следует использовать вместо этого getSaveFileName

person George Moralis    schedule 20.12.2015
comment
Ух ты! Я был так близко! Именно то, что я искал! Как я могу отблагодарить вас!?!? - person d_wheel; 21.12.2015

В примерах Qt есть проект под названием SDI , простое содержимое окна и меню и все, что вам нужно о файле: создать, открыть, сохранить и сохранить как .

person mohagali    schedule 20.12.2015