Qt图片另存为功能 .

发布时间:2020-04-06 01:57:10 作者:feiyangyangfei
来源:网络 阅读:1878

QT在学习的过程中总是遇到各种问题,没有人解答,只有自己在研究并且在网上搜索一些资料,从初学到现在入门,一直都是这样走过来的,虽然走得很艰难,但是每一个阶段都会有所收获,最近在做一个图片浏览模块的功能,需要实现一个图片修改以后把图片另存为的功能,刚开始觉得挺麻烦,查找资料的时候也觉得很繁琐,很多资料都不是很详细,花费了我两天的时间我才将这个功能给实现了,到最后发现这个功能实现实际很简单,知识自己不了解QFileDialog控件和它的用法,导致白白浪费了这么多时间,不过也在这个过程中对QFileDialog控件有了具体的了解。废话不多说了,下面是一个具体的代码,希望对一些学习Qt的朋友有所帮助。

    QFileDialog *fileDialog = new QFileDialog(this);//创建一个QFileDialog对象,构造函数中的参数可以有所添加。
    fileDialog->setWindowTitle(tr("Save As"));//设置文件保存对话框的标题
    fileDialog->setAcceptMode(QFileDialog::AcceptSave);//设置文件对话框为保存模式
    fileDialog->setFileMode(QFileDialog::AnyFile);//设置文件对话框弹出的时候显示任何文件,不论是文件夹还是文件
    fileDialog->setViewMode(QFileDialog::Detail);//文件以详细的形式显示,显示文件名,大小,创建日期等信息;

                                                                      //还有另一种形式QFileDialog::List,这个只是把文件的文件名以列表的形式显示出来
    fileDialog->setGeometry(10,30,300,200);//设置文件对话框的显示位置
    fileDialog->setDirectory(".");//设置文件对话框打开时初始打开的位置
    fileDialog->setFilter(tr("Image Files(*.jpg *.png)"));//设置文件类型过滤器
    if(fileDialog->exec() == QDialog::Accepted) {//注意使用的是QFileDialog::Accepted或者QDialog::Accepted,不是QFileDialog::Accept
        QString path = fileDialog->selectedFiles()[0];//得到用户选择的文件名
        filePath=listWidget_File->item(listWidget_File->currentRow())->text();//这个是得到在ListWidget中点击查看的图片,得到这个图片的名字
        filePath=QString("/media/sd/PICTURES")+filePath;//将路径和文件名连接起来
        QImage iim(filePath);//创建一个图片对象,存储源图片
        QPainter painter(&iim);//设置绘画设备
        QFile file(path);//创建一个文件对象,存储用户选择的文件
        if (!file.open(QIODevice::ReadWrite)){以只读的方式打开用户选择的文件,如果失败则返回
            return;
        }

//以流方式写入文件
        QByteArray ba;
        QBuffer buffer(&ba);
        buffer.open(QIODevice::WriteOnly);
        iim.save(&buffer, "JPG");//把图片以流方式写入文件缓存流中
        file.write(ba);//将流中的图片写入文件对象当中

 

推荐阅读:
  1. python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例
  2. 易语言使用标签实现进度条功能的代码

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

qfiledialog 另存为

上一篇:【MongoDB学习笔记11】MongoDB的WEB界面

下一篇:php7中系统自带异常类和自己创建异常类比较

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》