从0到1,手把手带你开发截图工具ScreenCap------002实现设置默认保存的图片 ...

打印 上一主题 下一主题

主题 919|帖子 919|积分 2757

ScreenCap---Version:002

说明

## 上一篇:实现基本的截图功能






  • 在ScreenCap实现截图功能后增加设置图片默认保存位置的功能
  • 实现选择文件夹作为截图的默认保存位置
警告



  • 注:博主所有资源永久免费,若有帮助,请点赞转发是对我莫大的帮助
  • 注:博主本人学习过程的分享,引用他人的文章皆会标注原作者
  • 注:本人文章非盈利性质,若有侵权请联系我删除
  • 注:获取资源或者咨询问题请联系Q:2950319782
  • 注:博主本人很菜,文章基本是二次创作,大佬请忽略我的随笔
  • 注:我会一步步分享实现的细节,若仍有问题联系我
GitHub



  • 仓库master下的ScreenCap项目
  • 若您无法正常访问,每次项目的资源会随文章一同发布,下载压缩包即可,永久免费
  • 压缩包可能较GitHub更新不及时,请谅解
开发环境



  • win10系统
  • 编译器qtcreator4.11.1
  • QT版本:5.14.2
  • C++11
问题解决

需求



  • 在程序主窗体提供默认位置的按钮
  • 实现选择文件夹功能
  • 把选择的文件夹作为截图的默认保存位置
结构




思路



  • 前几个版本,我们将该功能设计的简单一点,只实现单次运行程序的默认位置被修改即可,以后再实现注册表之类的功能
  • 为了实现默认位置功能,在screencapwidget主窗口中,添加默认位置的按钮open_btn
  • 点击按钮,打开文件对话框,选择文件夹作为默认位置
  • 获取到默认文件夹的路径后,这里也不要保存下来了,直接传给screenwidget类即可
  • 不同类之间的通信可以使用信号和槽,也可以使用静态方法的方式传入,这里使用后者,方便使默认地址不变
  • 维持一个静态变量InitFileName,在类外修改这个值,除非再设置,否则不变
  • 当然,这里一开始是空值,为了安全起见,将这个默认值设置为当前程序运行的位置为好
  • 更新为值后,只需要在需要保存文件路径的时候,使用该值就实现了设置默认位置的功能
关键代码



  • screenwidgetcap窗口中的默认位置选择文件对话框的函数
    1. void ScreenCapWidget::on_open_btn_clicked()
    2. {
    3.     //设置默认位置
    4.     QString defaultPath = QApplication::applicationDirPath();
    5.     QSettings settings("MyApp","MySettings");
    6.     settings.setValue("DefaultPath",defaultPath);
    7.     QString FileName = QFileDialog::getExistingDirectory(this,
    8.                                                          "选择文件夹",
    9.                                                          settings.value("DefaultPath").toString());
    10.     ScreenWidget::setInitFileName(FileName);
    11. }
    复制代码
  • screencapwidget传递默认文件路径给screenwidget
    1. ScreenWidget::setInitFileName(FileName);
    复制代码
  • screenwidget设置默认文件地址的函数实现
    1. //定义设置初始位置
    2. void ScreenWidget::setInitFileName(QString filename)
    3. {
    4.     initFileName = filename;
    5. #if LOG
    6.     qDebug() << initFileName;
    7. #endif
    8. }
    复制代码

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

络腮胡菲菲

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表