Qt实现仿QQ截图,带绘图,撤回功能!

Qt实现仿QQ截图

想自己用Qt做个东西玩玩,偶然间看到小猪老师做的截图文章
做的很棒,但是看到最后没有发现绘图功能,然后百度了各种用qt制作的截图软件,大部分都不带绘图功能,于是我便打算在小猪老师代码的基础上,添加绘图功能,并且模仿qq截图的工具栏
该项目使用Qt Creator 、Qt 5.13.2版本开发

先看效果图

窗口移动

窗口移动,以及绘制窗口信息,放大图来自于小猪老师的代码
在这里插入图片描述

绘图及撤回

在他的基础上,添加了绘图,并且做了一个选择绘图的功能栏,一个选择颜色的功能栏,绘制矩形,椭圆,箭头,画笔,文本均达到要求
在这里插入图片描述
在这里插入图片描述
其次,绘图的起点必须在截图的矩形框内,这点与qq截图一致,但绘制终点可以在矩形框外,并不局限于矩形框内,这点与qq截图完全限制不同。(即允许出界)

在这里插入图片描述
另外,绘图期间允许拖拽选中框(这也是为何允许绘图绘制到选中框外面的原因)
在这里插入图片描述

最后,绘制的图无法移动,并不能做到像qq截图那样随便移动绘制好的图形,但你可以按Ctrl+Z或者撤回按钮进行撤回,重新进行上一次的编辑,总体不影响使用

保存

在这里插入图片描述

总结

怎么样,是不是很像qq截图了!
总体上实现了大部分qq截图的功能,而且这些功能已经能满足正常需求了。
基于正常使用,并没有添加类似qq截图的右键菜单,如有需求,可自行添加。

在设计撤回功能时,第一想到的便是动态链表和动态数组,二者均提供删除最后项的函数。但是如何用一个数据类型,存储下矩形,椭圆,箭头,画笔,文字所需要的信息,于是自然而然想到了结构体,便有这样的代码,从而轻而易举的实现撤回功能。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在做这个项目的期间,确实符合了我的预期,学到了非常多的东西,果然实践才是硬道理。

在最后,又制作了一个小窗口,作为主窗口,并且添加了系统托盘,双击托盘也可以进行截图,右键进行设置
在这里插入图片描述
你可以设置是否开机启动,以及截图快捷键,若不需要主窗口,在代码包里已经编译
在这里插入图片描述

或者按照代码中的注释进行修改
在这里插入图片描述

最后,可能有部分细节未注意,不保证代码完全无错

附上代码下载链接

仅供学习使用 https://download.csdn.net/download/weixin_45826022/12250018

  • 50
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 23
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值