Qt Quick Widgets App中简单功能的实现(新建,保存,另存为等)
2014-08-07 18:23
573 查看
Qt Quick Widgets App中简单功能的实现(新建,保存,另存为等)
———————————————————————————————————————————————————————————————————————在mainwindow.h文件中的private下加入以下语句。
bool isSaved; //为true时标志文件已经保存,为false时标志文件尚未保存
QString curFile; //保存当前文件的文件名
void do_file_New(); //新建文件
void do_file_SaveOrNot(); //修改过的文件是否保存
void do_file_Save(); //保存文件
void do_file_SaveAs(); //文件另存为
bool saveFile(const QString& fileName); //存储文件
_________________________________________________________________________________________________________________________________在mainwindow.cpp中先加入头文件#include <QtGui>,然后在构造函数里添加以下几行代码。
5.2版本Qt中 头文件如下
isSaved = false; //初始化文件为未保存过状态
curFile = tr(“未命名.txt”); //初始化文件名为“未命名.txt”
setWindowTitle(curFile); //初始化主窗口的标题
_________________________________________________________________________________________________________________________________在功能中的cpp中 加入下面代码实现功能,widget替换成当前命名文件的名称
#include "widget.h" #include "ui_widget.h" #include <QtGui> #include <QMessageBox> #include <QFileDialog> widget::widget(QWidget *parent) : QMainWindow(parent), ui(new Ui::widget) { ui->setupUi(this); isSaved = false; //初始化文件为未保存过状态 curFile = tr("未命名.txt"); //初始化文件名为“未命名.txt” setWindowTitle(curFile); //初始化主窗口的标题 } void widget::do_file_New() //实现新建文件的功能 { do_file_SaveOrNot(); isSaved = false; curFile = tr("未命名.txt"); setWindowTitle(curFile); ui->textEdit->clear(); //清空文本编辑器 ui->textEdit->setVisible(true); //文本编辑器可见 } void widget::do_file_SaveOrNot() //弹出是否保存文件对话框 { if(ui->textEdit->document()->isModified()) //如果文件被更改过,弹出保存对话框 { QMessageBox box; box.setWindowTitle(tr("警告")); box.setIcon(QMessageBox::Warning); box.setText(curFile + tr("是否保存?")); box.setStandardButtons(QMessageBox::Yes | QMessageBox::No); if(box.exec() == QMessageBox::Yes) //如果选择保存文件,则执行保存操作 do_file_Save(); } } void widget::do_file_Save() //保存文件 { if(isSaved){ //如果文件已经被保存过,直接保存文件 saveFile(curFile); } else{ do_file_SaveAs(); //如果文件是第一次保存,那么调用另存为 } } void widget::do_file_SaveAs() //文件另存为 { QString fileName = QFileDialog::getSaveFileName(this,tr("另存为"),curFile); //获得文件名 if(!fileName.isEmpty()) //如果文件名不为空,则保存文件内容 { saveFile(fileName); } } bool widget::saveFile(const QString& fileName) //保存文件内容,因为可能保存失败,所以具有返回值,来表明是否保存成功 { QFile file(fileName); if(!file.open(QFile::WriteOnly | QFile::Text)) //以只写方式打开文件,如果打开失败则弹出提示框并返回 { QMessageBox::warning(this,tr("保存文件"),tr("无法保存文件 %1:\n %2").arg(fileName).arg(file.errorString())); return false; } //%1,%2表示后面的两个arg参数的值 QTextStream out(&file); //新建流对象,指向选定的文件 out << ui->textEdit->toPlainText(); //将文本编辑器里的内容以纯文本的形式输出到流对象中 isSaved = true; curFile = QFileInfo(fileName).canonicalFilePath(); //获得文件的标准路径 setWindowTitle(curFile); //将窗口名称改为现在窗口的路径 return true; }
相关文章推荐
- Qt 定制QFileDialog 实现文件新建 删除 修改 保存等功能
- 【java学习记录】10.实现基本的记事本功能(新建、打开、另存为)和简单的加解密功能
- java实现记事本基本功能:新建、打开、保存、另存为、退出、替换、全部替换、复制、剪切、粘贴、全选、获取当前时间日期、修改字体、颜色、自动换行等
- Qt将文件保存到指定目录下(另存为的功能)
- Python 实现简单的爬虫功能并保存到本地
- java由servlet实现登录的简单功能,并把用户名用cookie保存起来,读取cookie
- Qt实现保存、浏览、预览、打印功能
- Qt4.8.2 实现简单的界面换肤功能
- java-简单的文件打开,保存,编辑功能的记事本实现
- Qt实现记事本的打开和保存功能(第一个实用的Qt小程序)
- 记事本(c#实现,包含,打开,保存,另存为,复制,粘贴等功能)
- Android加载大图片,实现简单的截屏功能与保存截屏显示在图库
- Qt将文件保存到指定目录下(另存为的功能)
- QT控件——ui界面简单实现一些功能
- webkitgtk密码保存功能简单实现
- iOS App中实现播放音效和音乐功能的简单示例
- webkitgtk密码保存功能简单实现
- SWT模拟Eclipse左侧菜单,简单实现新建工程,新建包,添加用例等功能.
- Qt4.8.2 实现简单的界面换肤功能
- Visual Studio+QT+OpenCv实现视频拍照保存功能