qt——QFileDialog使用对话框选取本地文件

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;
        }

//以流方式写入文件

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

如果不当指出,可以指出,共同进步。

时间: 2024-10-13 02:18:57

qt——QFileDialog使用对话框选取本地文件的相关文章

QT学习 之 对话框 (四) 字体对话框、消息对话框、文件对话框、进程对话框(超详细中文注释)

QMessageBox类: 含有Question消息框.Information消息框.Warning消息框和Critical消息框等 通常有两种方式可以来创建标准消息对话框: 一种是采用“基于属性”的API,一种是使用QMessageBox的静态方法. 后者书写容易,但缺少灵活性,针对用户给出的提示的信息不够丰富,并且不能自定义消息对话框里面的按钮提示信息.因此推荐第一种写法. [cpp] view plaincopy <span style="font-size:18px;"&

JS打开选择本地文件的对话框

方法一: 在定义的form中添加以下javascript代码: {             anchor : '95%',             xtype: 'fileuploadfield',             id: 'form-file',             emptyText: '请选择',             fieldLabel: '上传附件',             name: 'meetingAffix',             buttonText: '

通过映射方式把本地文件放入服务器方法

如果希望把本地计算机上的一个文件,上传到某个服务器上,可以通过映射网络驱动器的方式把本地文件存入远程服务器.方法如下: 1. 把想要上传的文件放入一个文件夹下,文件夹取名最好简短,以便记忆和输入.然后右键点击该文件夹,选取“共享”-“特定用户”. 2. 下面这个窗口就是选择希望对哪些用户开放共享文件夹,默认有Administrator管理员用户和当前用户,可以直接点击“共享”,也可以另外添加其他本地用户,也可以修改相应的访问权限.这里不做修改,直接点击“共享”. 3. 点击“共享”之后,该文件夹

QT之消息对话框

我们会经常见到一些标准对话框,Qt 也为开发者提供了一些可复用的对话框类型. Qt 提供的可复用对话框全部继 QDialog 类,关系如下图所示:Qt 中的标准对话框遵循相同的使用方式,大概流程如下:那么我们的消息对话框是应用程序中最常见的界面元素,主要用于:1.为用户提示重要信息:2.强制用户进行操作选择.如我们平时所见的画图时的对话框,如下:那么我们消息对话框的使用方式是怎样的呢?如下所示:我们在实验中设置四个按钮,头文件如图所示:我们构建运行会得到如下图所示的效果图:QMessageBox

使用Charles代理功能将网络请求定向至本地文件

最近在进行前端开发的时候发现Charles一个非常牛叉的功能,就是可以通过代理将网络请求定向至本地文件.有了这个功能在进行iOS开发时就可以在缺少后台接口的情况下更加真实的进行数据mock了(反正我们公司的后台...不想吐槽了). 我们先用NSURLSession发送一段简单的post请求: NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://192.12

SAP本地文件策略(导EXCEL选择拒绝后处理)

导出EXCEL意外选择了拒绝+记住选择,这样的话在本地电脑就导不出文件了,如下图: 解决办法有2个: 1,修改导出文件的本地策略 :Alt+F12 ->选项->安全性->安全设置->安全配置对话框 找到刚才因为拒绝产生的两个本地文件拒绝访问设置,双击,将操作改为‘允许’...应用,确定.返回界面就可以接着导数据了 2.修改后缀文件安全策略 同样找到Alt+F12 ->选项->安全性->安全设置->安全配置对话框 点击插入->类型选择文件扩展名 对象输入

详细解释 使用FileReference类加载和保存本地文件

一般而言,用户不希望web浏览器中运行的应用程序访问电脑硬盘里的文件.然而,随着基于浏览器(browser-based)的富因特网应用程序的增多,一些应用程序迫切需要访问用户所选择的文件,或者将文件保存到用户所选择的位置.支持FileReference类的Adobe Flash Player版本允许ActionScript应用程序将用户所选择的文件上传到服务器,或者从服务器下载文件到用户所选择的位置.然而,在Flash Player 10之前的版本中,除非您先将数据传送到服务器,否则无法在应用程

本地文件包含漏洞(LFI漏洞)

0x00 前言 本文的主要目的是分享在服务器遭受文件包含漏洞时,使用各种技术对Web服务器进行攻击的想法. 我们都知道LFI漏洞允许用户通过在URL中包括一个文件.在本文中,我使用了bWAPP和DVWA两个不同的平台,其中包含文件包含漏洞的演示.通过它我以四种不同的方式执行LFI攻击. 0x01 基本本地文件包含 在浏览器中输入目标IP,并在BWAPP内登录(bee:bug),现在选择bug:remote & local file Inclusion,然后点击hack. 打开具有RFI和LFI漏

【.Net】在WinForm中选择本地文件

相信很多朋友在日常的编程中总会遇到各钟各样的问题,关于在WinForm中选择本地文件就是很多朋友们都认为很难的一个学习.net的难点, 在WebForm中提供了FileUpload控件来供我们选择本地文件,只要我们将该控件拖到页面上了,就已经有了选择本地文件的功能了.而在 WinForm中,并没有为我们提供集成该功能的控件,但为我们提供了OpenFileDialog类,我们可以利用该类来打开与选择本地文件. OpenFileDialog类,提供了提示用户打开文件的功能,它有如下属性和方法: 属性