在Qt C ++中读写文件

时间:2012-10-14 14:18:23

标签: c++ file qt

我是Qt编程的新手。

我正在做一个由主屏幕和3个窗口组成的程序,它基于驱动由并行端口控制的卡车无线电。

我的问题是,在第二个窗口中,我输入了某些值,并存储在txt文件中(我检查并正确存储)。问题是,当我进入第三个窗口,它被设计为读取和打印数据生成的文件时,不会出现,但直到我离开并重新进入程序。

虽然在保存数据之后,我关闭了文件,然后打开它来读取它,就像当时没有关闭,但只有当我退出程序时。

以下附加的程序文件。

Link!

非常感谢,对不起我的英语!

注意:不要忘记输入用户权限来运行程序(在Ubuntu中工作),因为它处理PC端口。

1 个答案:

答案 0 :(得分:0)

来自this qt示例:

bool MainWindow::saveFile(const QString &fileName)
{
    QFile file(fileName);
    if (!file.open(QFile::WriteOnly | QFile::Text)) 
    {
            QMessageBox::warning(this, tr("Application"),
                          tr("Cannot write file %1:\n%2.")
                          .arg(fileName)
                          .arg(file.errorString()));
        return false;
    }

    QTextStream out(&file);
#ifndef QT_NO_CURSOR
QApplication::setOverrideCursor(Qt::WaitCursor);
#endif
out << textEdit->toPlainText();
#ifndef QT_NO_CURSOR
QApplication::restoreOverrideCursor();
#endif

    setCurrentFile(fileName);
    statusBar()->showMessage(tr("File saved"), 2000);
    return true;
}

你可以定义它并定义一个向用户询问文件名的插槽(QFileDialog是最快的方式),如果用户接受(不取消保存数据执行),则用用户文件名调用此方法。你可以放弃一些东西,即statusBar() - &gt; showMessage();如果你没有状态栏等等......