我是Qt编程的新手。
我正在做一个由主屏幕和3个窗口组成的程序,它基于驱动由并行端口控制的卡车无线电。
我的问题是,在第二个窗口中,我输入了某些值,并存储在txt文件中(我检查并正确存储)。问题是,当我进入第三个窗口,它被设计为读取和打印数据生成的文件时,不会出现,但直到我离开并重新进入程序。
虽然在保存数据之后,我关闭了文件,然后打开它来读取它,就像当时没有关闭,但只有当我退出程序时。
以下附加的程序文件。
非常感谢,对不起我的英语!
注意:不要忘记输入用户权限来运行程序(在Ubuntu中工作),因为它处理PC端口。
答案 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();如果你没有状态栏等等......