五天拼出一款提词器软件之二软件基础代码与功能实现

根据软件需求和设计的思路,提词器主体的部分应该就是一个无框的窗体,然后叠加一个qtextedit,利用qtextedit的滚动条功能,结合qtimer实现定时滚动的功能。
有个qt编写经验的同学其实知道,如果直接用ui建立widget的模式,实现无框窗体的话,设置qtextedit背景透明是没有问题的,关键是如果要实现窗体的移动和缩放就没有那么容易的了,你不能强制客户只在某一个位置点击鼠标然后移动和拖放,客户需要傻瓜化的操作,所以就必须考虑窗体边界的自动识别以及在窗体外围拖拉鼠标进行缩放,以及鼠标在窗体任意位置点击后都可以进行窗体移动的可能。
本章尽然是为了在crtl+c和crtl+v的基础上进行拼接开发,那就祭出大杀器,程序员的参考宝库,github.com,国内是gitee,不过很多资源是搬迁自github的,那就直接github吧。打开网页,搜索qt 无框窗体,当然你也可以直接搜索提词器或者英文的关键词,也有一个开源的qpromt,不过看着感觉不是太爽,所以就从最基础的开始。
搜索关键词:FramelessWindow,无框窗体,提词器等等,然后看带qt的,日期不要太远,然后最好有点forks的。然后就找到了一个。

五天拼出一款提词器软件之二软件基础代码与功能实现

边界判断部分

本地事件监听与鼠标事件反馈(savexmlsetting部分是后面添加的,实现窗体移动后保存参数,下次启动后窗体实现位置记忆功能)

窗体缩放后,根据缩放进行事件处理,原作者是重绘窗体,此处上面加了窗口缩放后尺寸大小的记忆功能

运行测试,一个可改变背景的透明窗体就ok了,大房子第一步,平面图搞定,就像一个画板,先确定布局,后面就可以在此界面上在进行后续的搭建和绘画。

来源:wukongxuetang

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年6月15日
下一篇 2022年6月15日

相关推荐