qt c++ QDialog 打开新文件

Posted

技术标签:

【中文标题】qt c++ QDialog 打开新文件【英文标题】:qt c++ QDialog open new file 【发布时间】:2015-12-20 18:34:24 【问题描述】:

搜索和阅读qt文档将近一周后,我仍然无法弄清楚如何使用QDialog在我的硬盘上创建一个NEW文件来写入数据。如果文件已经存在,我可以打开文件并写入数据,但如果我尝试创建一个新文件,我会收到一条消息,指出该文件不存在。如果我不通过硬编码路径和文件名来使用 QDialog,我可以创建一个新文件,但希望能够选择文件位置并获得习惯消息;例如文件已经存在并询问是否可以覆盖它。这是我最近尝试的一个 sn-p:

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 可以用于此目的吗?如果没有,请指出如何完成的信息。

提前致谢!

【问题讨论】:

【参考方案1】:

我认为你应该改用 getSaveFileName

【讨论】:

哇!我是如此接近!正是我想要的!我要怎么感谢你!?!?【参考方案2】:

在 Qt 示例中,有一个名为 SDI 的项目,内容简单的窗口和菜单以及您需要的关于文件的所有内容:新建、打开、保存和另存为。

【讨论】:

以上是关于qt c++ QDialog 打开新文件的主要内容,如果未能解决你的问题,请参考以下文章

使用样式表自定义 QDial

PyQt4/Qt:设置 QDial 的方向(最小值在顶部)

如何在其他 .py 模块中打开 Qdialog

Qt编程求助:有没有啥类似QDialog::exec()之类的能阻塞程序的方法?

QScrollBar & QSlider & QDial

在打开 qdialog 的情况下关闭 qmainwindow 时 Python 崩溃