上一篇文章介绍了基于条目的表格窗体的创建和使用,任何一个软件项目,文件读写是必不可少的,本文将介绍如何对文件进行读写操作。
文件读写 QFile
在对文件进行读写前,相对前期的主界面窗体菜单栏和工具栏做一些处理:
m_fileMenu = menuBar()->addMenu("&File");
QAction *openAction = m_fileMenu->addAction("Open");
QAction *saveAction = m_fileMenu->addAction("Save");
QAction *saveAsAction = m_fileMenu->addAction("Save As...");
openAction->setShortcut(QKeySequence::Open); //设置快捷方式
openAction->setIcon(QIcon("open.svg")); //设置图标
saveAction->setShortcut(QKeySequence::Save);
saveAction->setIcon(QIcon("save.svg"));
saveAsAction->setShortcut(QKeySequence::SaveAs);
saveAsAction->setIcon(QIcon("saveas.svg"));
m_fileToolBar = addToolBar("File");
QAction *openActionTool = m_fileToolBar->addAction(QIcon("open.svg"),"Open");
QAction *saveActionTool = m_fileToolBar->addAction(QIcon("save.svg"),"Save");
QAction *saveAsActionTool = m_fileToolBar->addAction(QIcon("saveas.svg"),"Save As...");
添加三个常用菜单:打开文件、保存文件、另存文件,效果如下:
我们打开QFile的Qt帮助,按照帮助指导来写文件:
首先在头文件之中包含QFile:
需要处理文件,为了和界面动作关联,需要建立一个槽函数saveFile:
void saveFile(); //保存文件槽函数
在CPP文件之中对槽函数进行实现。
void mainWindow::saveFile()
{
}
下面开始来对保存文件进行书写。
void mainWindow::saveFile()
{
QFile file("infor.txt"); //新建文件对象
if(!file.open(QIODevice::WriteOnly | QIODevice::Text)) //以文本和只读形式打开
return; //如果打开失败,直接退出
file.write("Line 1");
file.close(); //保存文件
}
需要将保存文件槽函数和下拉保存按钮触发信号连接在一起,下面在构造函数中建立这个连接关系:
connect(saveAction,&QAction::triggered,this,