我是 Qt 编程的新手。
我正在做一个由一个主屏幕和 3 个窗口组成的程序,是基于驾驶由并口控制的卡车 radio 。
我的问题是,在第二个窗口中,我输入了某些值,并存储在一个 txt 文件中(我检查并正确存储)。问题是,当我转到第三个窗口时,该窗口旨在读取和打印数据生成的文件,但不会出现,直到我离开并重新进入程序。
虽然保存数据后,我关闭了文件,然后我打开它读取它,但当时好像没有关闭,但只有在我退出程序时才关闭。
在附加的程序文件下面。
非常感谢你,对不起我的英语!
注意:不要忘记输入用户权限以运行该程序(在 Ubuntu 中工作),因为它处理 PC 端口。
最佳答案
来自 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()->showMessage();如果你没有状态栏等等...
关于c++ - Qt C++ 读写文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12883060/