一、写在前面
作为一名测试,有时候经常会遇到需要录屏记录自己操作,方便后续开发同学定位。以前都是用screentogif来录屏制作成动态图,偶尔的机会看到python也能实现。那就赶紧学习下。
二、效果展示
三、知识串讲
这次要讲的东西可能比较多了,涉及到pyqt5 gui软件的制作、qthread多线程的使用、sikuli库的图形操作、win32库的模拟键盘操作、cv2库的写视频文件等。下面我们一点点来蚕食我这次写的代码。
1、gui界面制作
这次我用的是现成的pyqt5界面布局类,qvboxlayout。这个类可以快速协助我完成按钮的垂直分布,而且按钮添加也更方便。
button1 = qpushbutton("自定义录屏")
layout.addwidget(button1)
两行代码就完成了按钮的命名和添加。我之前玩qt时,用的都是qt的ui界面,对应生成的组件代码也比较复杂。因此,在开发一些少量按钮、简单布局时可以用qvboxlayout类。如果喜欢水平布局,可以用qhboxlayout类,使用方法是一样的。
另外,在按钮点击关联的功能函数,即work()方法时,如果想带参数,可以通过lambda匿名函数来实现。这 也是个小技巧。
# 不带参数
button1.clicked.connect(self.work)
#