Qt Quick Widgets App中简单功能的实现(新建,保存,另存为等)
来源:互联网 发布:1password mac 买断版 编辑:程序博客网 时间:2024/05/18 09:14
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;}
0 0
- Qt Quick Widgets App中简单功能的实现(新建,保存,另存为等)
- 【java学习记录】10.实现基本的记事本功能(新建、打开、另存为)和简单的加解密功能
- Qt 文本文件的打开、新建、保存以及另存为
- Qt 文件的新建、打开、保存、另存为 (改进版本)
- 记事本(c#实现,包含,打开,保存,另存为,复制,粘贴等功能)
- Qt Widgets、QML、Qt Quick的区别
- Qt Widgets、QML、Qt Quick的区别
- Qt Widgets、QML、Qt Quick的区别
- Qt 定制QFileDialog 实现文件新建 删除 修改 保存等功能
- Qt将文件保存到指定目录下(另存为的功能)
- Qt将文件保存到指定目录下(另存为的功能)
- Qt将文件保存到指定目录下(另存为的功能)
- [置顶] Qt将文件保存到指定目录下(另存为的功能) .
- 文件的打开保存另存为功能代码实现
- android中widgets的简单实现
- 实现类似“另存为”的功能
- 【C#源代码】记事本的新建、打开、保存等功能
- Qt图片另存为功能
- java基础复习-面试点
- 第一篇 AS的冒泡例子
- UIWebView
- 想改成小电饭锅信得过
- 想改成小电饭锅信得过
- Qt Quick Widgets App中简单功能的实现(新建,保存,另存为等)
- 想改成小电饭锅信得过
- 事件驱动的思考
- 10 个免费的 C/C++ 集成开发环境
- python拼接form-data的post内容
- Quartz任务调度,访问Servlet Context容器中的数据
- [Linux/Mac学习] find用法心得
- Python使用TCPServer编写(多线程)Socket服务
- 插件的一种安装方法