Qt的文件对话框--QFileDialog

###任务:
  Qt中按下按钮,弹出文件保存对话框,根据所选的路径保存文件;
###示例:
  点击按钮,选择路径并为文件命名,保存文件(以保存图片为例);
###代码及说明:
####1. 头文件
  a: 包含所需头文件
include <QWidget> include <QPainter> #include <QBitmap> #include <QFileDialog> #include <QPushButton> #include <QPixmap> #include <QDebug>
  b:定义变量;分别为对话框指针、按钮指针、文件路径和图片指针

private:
    QFileDialog *_fileDialog;
    QPushButton *_save;
    QString _filePath;
    QPixmap *_pixmap;

####2.源文件(以下代码均在构造函数中)
  a: 初始化图片指针(可以自己用画笔画一个Pixmap,也可以用已存在的其他图片)

    _pixmap = new QPixmap(100, 100);
    QPainter p;
    p.begin(_pixmap);
    p.setPen(QPen(Qt::red, 2, Qt::SolidLine));
    p.drawRect(10, 10, 80, 80);
    p.end();

  b: 初始化按钮指针,为按钮设置一个位置,当点击按钮时,弹出保存对话框

    _save = new QPushButton("Save",this);
    _save->move(150,100);
    connect(_save, &QPushButton::clicked, [&]()
            {
                _fileDialog->show();
            }
            );

  c: 初始化对话框指针,完成对话框事件,依据路径和文件名保存图片

    _fileDialog = new QFileDialog(this);
    _fileDialog->setAcceptMode(QFileDialog::AcceptSave);
    connect(_fileDialog, &QFileDialog::accepted, [&]()
            {
                _filePath = _fileDialog->selectedFiles()[0];
                _pixmap->save(_filePath);
            }
            );
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值