前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >QT新建文件、打开文件、保存文件

QT新建文件、打开文件、保存文件

作者头像
Sindsun
发布2018-07-06 14:33:59
4.6K0
发布2018-07-06 14:33:59
举报
文章被收录于专栏:狂码一生狂码一生

一、首页布局界面,如图所示的界面及对象名称:

二、在头部文件中添加槽:

代码语言:javascript
复制
    private slots:
    void calcSlot();
    //新建文件
    void createNewFile();
    //打开文件
    void openFileSlot();
    //保存文件

三、实现槽函数:

代码语言:javascript
复制
//新建文件
void MainWindow::createNewFile(){
    //如果当前文档的内容已经改变了
    if(ui->textAreaInput->document()->isModified()){
        qDebug()<<"is aready";
        return;
    }else{
        //qDebug()<<"is null for ecit";
        ui->textAreaInput->clear();
        this->setWindowTitle("新文档.txt");
    }
}

//打开文件
void MainWindow::openFileSlot(){
    QString fileName = QFileDialog::getOpenFileName(this,"Open File",QDir::currentPath());
    //qDebug()<<"文件名是:"<<fileName;
    if(fileName.isEmpty()){
        QMessageBox::information(this,"错误消息","请选择一个文件");
        return;
    }
    QFile *file = new QFile;
    file->setFileName(fileName);
    bool openFileOk = file->open(QIODevice::ReadOnly);
    if(openFileOk){
        //文件与文本流相关联
        QTextStream in(file);
        ui->textAreaInput->setText(in.readAll());
        file->close();
        delete file;
    }else{
        QMessageBox::information(this,"错误提示","打开文件失败:"+file->errorString());
        return;
    }
}

四、添加信号与槽的连接:

代码语言:javascript
复制
QObject::connect(ui->equalButton,SIGNAL(clicked()),this,SLOT(calcSlot()));
QObject::connect(ui->createNewAction,SIGNAL(triggered()),this,SLOT(createNewFile()));
QObject::connect(ui->openAction,SIGNAL(triggered()),this,SLOT(openFileSlot()));

版权声明: 此文为本站源创文章[或由本站编辑从网络整理改编], 转载请备注出处: 狂码一生 http://www.sindsun.com/article-details-66.html [若此文确切存在侵权,请联系本站管理员进行删除!]

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-05-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档