功能:
在使用 qt 实现的播放器中,增加截图功能
实现思路:
- 使用qt的全屏截图方法,获取整个屏幕的截图
- 获取当前程序的坐标,裁剪整个屏幕的截图,获取所需的图片区域
代码实现:
# 截图
def castVideo(self)
# 截取当前整个屏幕
screen = QGuiApplication.primaryScreen()
cast_jpg = f'{os.path.dirname(os.path.dirname(os.path.dirname(__file__)))}/Log/screenshot/' + os.path.basename(
self.player.uri) + '_' + QDateTime.currentDateTime().toString("yyyy-MM-dd hh-mm-ss-zzz") + '.jpg'
# 获取当前程序的坐标点位置,对整个屏幕的截图进行裁剪后保存
screen.grabWindow(QApplication.desktop().winId(), x=self.frameGeometry().x(), y=self.frameGeometry().y(),
width=self.frameGeometry().width(), height=self.frameGeometry().height()).save(cast_jpg)
QMessageBox.critical(None, '提示', f'截图已保存至 {cast_jpg}', QMessageBox.Ok | QMessageBox.Cancel)