基于QT截屏软件实现(一)

能力有限bug多多,如果有时间会完善

结果展示

截图成果

源代码链接:https://pan.baidu.com/s/1gW8VOJWJcxWMW7dKU4A30g?pwd=1g2u 
提取码:1g2u

操作说明

启动程序后进行第一次截图,点击取消后,程序会在后台运行,当键盘按下CTRL+A

启动截图,若想彻底关闭程序请在任务管理处找到“myscreenshot.exe",右键点击结束任务。

1、标记功能:点击“标记”按钮,该键变成蓝色并弹出颜色选择菜单,再次点击则变回白色并回收菜单,点击“颜色选择”按钮,可以进行方框标记颜色选择,在截图界面,点击鼠标左键建立标记方框,松开左键绘制结束,挪动鼠标在方框不同位置会变形,根据变形提示可以进行点击可以调整方框大小和位置,当点击方框上方的对号,则进行标记绘制,点击叉号,则取消绘制,并且在“颜色选择”按钮左边的按钮,会显示当前标记框颜色

2、文字功能:点击“文字”按钮,该键变成蓝色并弹出字体和颜色选择菜单,并且同时会在截图中间显示文字录入框,再次点击则变回白色并回收菜单,文字录入框消失,录入文字后,点击对号录入,点击叉号取消录入,文字录入框只能通过点击文字按钮方式建立,不可以通过左键建立,但录入方框大小和位置可以调整,鼠标挪动到录入方框左上角时鼠标形状会发生改变,此时点击可以调整位置,鼠标挪动到录入方框右下角时鼠标形状会发生改变,此时点击调整大小

3、保存功能:点击“保存”按钮,会弹出文件选择窗口,录入打算储存的名字,可以储存截图

4、复制功能:点击“复制”按钮,会将截图复制到剪贴板,点击粘贴便,可以粘贴图片

5、撤销、恢复功能:对于标记和文字功能结果,进行恢复和撤销

6、取消功能:点击“取消”按钮,便可以取消截图

程序大概流程

整个程序流程如下:

启动程序->加载汉化(作用为QColorDialog,QFontDialog弹窗汉化)->Widget w(该类编写有窗口钩子,可以在窗口无焦点时,监视键盘)-(当键盘Ctrl和A一起按下时)->建立ScreenShot dlg并exec()->建立一个窗口并全屏无边框,绘制此时桌面,绘制阴影-(点击左键)->绘制方框,绘制截图,保存截图

其中保存为output_image.save()函数,复制为QApplication::clipboard()->setPixmap(output_image),取消为this->hide(),文字和标记原理为先建立对应窗口,当点击对号时才进行录入,录入到整个背景图片,每次操作前会将当前背景图片存到撤销栈,撤销和恢复是两个QVector相互入栈

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值