QT记事本的读写函数
2016-03-06 00:00
337 查看
头文件:
#include<QMessageBox>
oidMainWindow::openFileSlot()
#include<QMessageBox>
#include<QtDebug>
#include<QFile>
#include<QFileDialog>
#include<QDir>
#include<QTextStream>
私有数据成员:
QStringfileString;//数据成员,保存要打开的文件名
构造函数添加的信号与槽链接:
QObject::connect(ui->openAction,SIGNAL(triggered()),this,SLOT(openFileSlot()));//记事本的打开(O)信号与槽进行连接,openAction是打开(O)的对象名
QObject::connect(ui->saveAction,SIGNAL(triggered()),this,SLOT(saveFileSlot()));//记事本的保存(S)信号与槽进行连接,saveAction是保存(S)的对象名
函数:
oidMainWindow::openFileSlot()
{
fileName=QFileDialog::getOpenFileName(this,"OpenFile",QDir::currentPath());//获取要打开文件的绝对路径
if(fileName.isEmpty())//判断是否为空
{
QMessageBox::information(this,"ERRORMESSAGE","Pleaseseleteafile");
return;
}
QFile*file=newQFile;
file->setFileName(fileName);
boolok=file->open(QIODevice::ReadOnly);//以只读方式打开文件
if(ok)
{
QTextStreamin(file);
ui->textEdit->setText(in.readAll());//读取文件所有内容
file->close();
deletefile;
}
else
{
QMessageBox::warning(this,"ERRORMESSAGE","FileOpenFiLE"+file->errorString());
return;
}
}
voidMainWindow::saveFileSlot()
{
if(fileName.isEmpty())
{
QMessageBox::warning(this,"ERRORMESSAGE","Pleaseseleteafile");
return;
}
else
{
QFile*file=newQFile;
file->setFileName(fileName);
boolok=file->open(QIODevice::WriteOnly);
if(ok)
{
QTextStreamout(file);
out<<ui->textEdit->toPlainText();
file->close();
deletefile;
}
else
{
QMessageBox::information(this,"ERRORMESSAGE","savefileerror");
return;
}
}
}
相关文章推荐
- qtimer类
- QT环境搭建
- 最近要开一个Qt 的专栏,大家关注一下吧
- QT5 串口操作
- QT OpenCV2.4.11 .pro文件内容
- Qt串行化的输入和输出
- 使用qt写的进制转换器
- QT学习之QString的arg方法
- QT学习之经典控件源码(如此强大)
- Qt stylesheet 源码学习
- 一起看代码来玩玩QT之18 QSqlDatabase (three 将database 通过 QTableView显示到界面上,并且增删改查
- GDKOI2016 Day2 T2 QT与泰剧
- 基于QT+OpenCV图像处理之滤波1
- QT信号和槽用于对象之间的通信
- 认识Qter
- QTableView使用笔记
- Ubuntu下Qt嵌入式开发平台的搭建
- “qt没有被正确的安装,请运行make install”解决方法
- 【GDKOI2016】QT与泰剧Code&Details
- 什么是Qtopia