【Qt】具有图片编辑功能的截图软件

【前言】

最开始为什么想写这个软件?

一是为了练练手,二是看看能不能写出一个比较完善的截屏工具,截图+录视频,写的初心是为了方便自己给自己使用。
在写的过程中确实发现了自己还存在许多问题,有对Qt方面理解不到位的问题,例如:窗口的销毁、事件的传递顺序、信号的发射与接收顺序,有在编程方面的思路不周到不完善不开阔的问题,代码很局限。有时候一下想到两种实现某一功能或解决某一问题的思路,在实现过程中前一种出现BUG立即放弃选择后一种进行实现,而如果后一种又出现BUG,自己就很慌神又去实现前一种。翻来覆去,写代码效率就很低。
所幸有很多资料可以查阅,在前人的帮助下我最终完成了这个截屏工具。

【功能】

1. screenShot 1.0

在开始的时候我只完成了最普通的截图功能,可选取任意矩形框进行截图,我称这时的软件为screenShot 1.0。
1、软件启动后隐藏在系统托盘区,不可重复启动
2、截图的时候软件不需要获得焦点,是全局热键
3、用户可进行自定义全局热键
4、用户可设置是否每次自动保存截图以及设置保存的路径,或者右键托盘区软件图标唤出菜单,单击保存,也可按下ctrl+c,截图自动保存在系统剪切板。
5、用户可设置软件是否开机自启动

在开发出2.0后,1.0未备份。以下是2.0的界面,与1.0无异。

在这里插入图片描述在这里插入图片描述

2、screenShot 2.0

2.0版本在1.0的基础上增加了图片编辑功能。
1、可重新移动矩形框
2、可用涂鸦笔进行涂鸦
3、可在图片上画矩形框、椭圆框
4、可画箭头
5、可添加文字
6、有撤销功能

这是截图时的画面

在这里插入图片描述

【局限】

screenShot 2.0的图片编辑功能目前还存在一些局限性。
1、画笔默认是红色,粗3像素,用户无法自定义画笔颜色、粗细
2、文字编辑默认字体为宋体,大小10,用户无法自定义字体、大小。

因为我写此软件的初心是为了给自己用,对我来说screenShot 2.0 的功能完全够用了,
暂时不需要改变画笔、字体等功能,所以我就没有实现这些功能。
而且,我相信,screenShot 2.0 的功能对大多数人来说已经够用了。

我想,我可能在以后会逐步实现这些功能的,弥补局限性。但最近应该不会再在这个软件上花费时间,我想先把《Qt快速入门》这本书看完,也许会把录屏功能先写出来。

【代码】

写这个软件的过程中我感受到了站在巨人肩膀上的好处,所以我的代码也是完全开源的。整个软件代码还是挺多的,略微复杂,我这儿先简单讲一讲我的整体思路——逐步细化,有利于大家理解我的代码。

一、整体思路

1、主窗口——用来给用户自定义热键、保存路径等(Widget类)
2、截图窗口——用户选定矩形框截屏(MyScreen类)
3、编辑窗口——用户对图片进行编辑(ScreenEdit类)
三个窗口各一个类。
当用户按下截图热键后,新建一个截图窗口,截图完成后,新建一个编辑窗口,编辑完成,结束。

二、效果美化

1、软件启动后,隐藏于系统托盘区。右键,显示菜单栏。单击Setting调出主窗口进行设置。
2、截图窗口、编辑窗口全部采用无边框。
3、截图开始后,屏幕变暗,有以鼠标位置为交点的十字线,用户选择的矩形框内为亮色。

软件的思路和该实现的效果基本就是这样。整体思路的三个窗口,一个一个实现了,软件就算是完成了。

【开源】

我把此软件用到的图标和图片,以及我的开发文档都放在这里了。
附:我在此软件上花费不少时间与心血,把代码完全开源还是挺舍不得的,望大家尊重我的成果。

百度云链接:https://pan.baidu.com/s/1OICpvqDZ0znZqiq6a7cPDw
提取码:cnq9

【联系】

大家有任何疑问都可联系我。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值