QT程序--小工具集合

这是在大一第一学期时写的参加程序设计大赛的作品,当时参加的时候仅仅只有贪吃蛇,迷宫算法和文件加密这三个功能,而且当时的界面并没有进行任何美化,现在想起来有点可惜。然而这并不是一个只写一遍的软件,在后期逐渐更新,知道今天的这个版本。而且当时对于C++的理解并没有经过学校的学习的系统学习后那么到位,其中有一部分并没有遵循面向对象设计的思想。可能是由于之前版本的qt写的程序对于WIn10的支持也并不到位,然后为了让程序启动的时候自动将兼容性设置为win7这一动作花费了挺长时间了,中途出现这个问题的时候准备了近半个月的时间去解决这个问题,要知道参加比赛的时间是从开始比赛前的一个月报名的。而且完成这个作品的人只有一个人,最终这个本来只有3个功能的小程序没能进入初赛。说实话,那时候的我确实挺伤心了,毕竟花费了一个月完成的作品就那样不被人认可,现在大二了,中途也逐渐添加了一些功能,更新到现在的V1.19版本,其中的井字棋为了体现生成迷宫的过程,我设置了生成迷宫的延迟,其实可以直接生成的,在以后应该会添加一些展示迷宫生成过程的按钮。

在V1.18的时候,看起来功能比当前的版本多了很多,例如有登录,注册功能,sql管理工具,用户留言功能等等,不过经过测试有bug的存在,所以在本版本中就将其中关于sql的功能全部删除了。

程序截图:

小工具功能说明:

这里展示了每个小工具的功能及其用法,以其中的滚轮热键为例子:

 

现在截屏功能看来还是挺强大的。能够按alt+q直接截图,有点类似于qq的那个截图功能,现在在弄一些需要截图的东西的时候基本上用的都是自己的这个软件的截图。在实现这个截图的功能时,参考了CSDN的某个博主写的一篇文章,具体的博主我也忘记了,一年前的事情也算是记不太清楚了,在原来的基础上增加了双击截图,将截图放置到剪切板,可以直接粘贴的功能,并且绑定了热键钩子。

贪吃蛇:不做具体说明

迷宫算法:随机生成一个迷宫,实现是用拆木棍的方式,每个格子有四个方向,每次取1-4这4个随机数,分别代表上下左右这4个方向,然后随机到具体的数,就将当前的格子往对应的方向进行移动,拆掉对应的木棍,当没有路时,返回最开始的拐点并且删除这个拐点的信息,然后循环取随机数取木棍,直到所有的格子都被取完为止。其中,玩家通过wsad控制红球的上下左右,绿球表示的是终点的位置。

井字棋:3个棋子连成一排的时候玩家就胜利了,属于人机对棋中最简单的一种,可以设置难度,并且能够设置先后手还有棋子形状

 

文件加密:对整个文件从头到尾进行加密,文件越大加密的时间越长,其实当初想写这个功能是因为自己想了解加密是怎么样实现的。最后发现加密和解密其实就是对立面的数据进行一个正运算和逆运算而已,但是这个加密并不完善,因为是大一上学期还没了解数据的处理的时候写的,并没有添加关于是文件被加密还是未被加密的判断。因此用这个小工具加密文件的话还是有一些危险的,除非正确知道加密的次数 密码还有顺序,注意:对一个未被加密文件进行文件解锁操作同样是加密,此时要用文件加密功能来解锁被解锁的文件

随机数抽取器:能够抽取0-99999的随机数,可以抽取不重复的随机数,同样也可以抽取重复的随机数,支持一键抽取全部。

 滚轮热键:模拟在文本框输入的按键,当点击开启热键额的时候,滚动滚轮便会依次模拟键盘输入文本框的的按键(是模拟而不是粘贴,键盘上没有的字符不能被模拟),当模拟到最后一个按键的时候便会从头开始模拟。

 

例如以上按钮来回滚动滚轮的模拟过程:123sads123sads123sads123sads123sads123sads123sads123sads123sads123s......

文件的简单检测:不做任何说明,并没有什么用,当时练习用的,就是统计文件各个类型的数目而已。

将中文转换为拼音:这个是之前玩类似于小霸王的模拟器的时候,里面的那些rom对中文不支持,在模拟器中会显示乱码,于是我想将文件夹中所有的文件中含有中文的文件的中文全部转换为拼音,当然也可以直接将中文粘贴到文本框里面的直接转换。

效果如图:

每日一文:每天都会更新一篇精选的文章,如果想提高阅读量的话,都是不错的,由于之前在写的时候忘记修改窗口的名字导致窗口名字显示错误,将会在以后的版本修复窗口文字显示错误的过程。

吉凶测试:每天都可以测试一次吉凶,然后这个仅仅只是随机的而已,仅供娱乐。

截图功能:如图所示,按alt+q或者在选择框中选择即可截图,双击所截的区域就会将截图文件放到剪切板中,或者右击选择的区域,可以将图片另存到某个文件夹。

下载地址:http://ozcye8ivb.bkt.clouddn.com/%E5%B0%8F%E5%B7%A5%E5%85%B7.rar

猜你喜欢

转载自www.cnblogs.com/halone/p/9746439.html