pyqt5 截图

举报
风吹稻花香 发表于 2021/09/05 22:53:32 2021/09/05
【摘要】 可以截图1: from PyQt5.QtWidgets import QApplicationimport sys if __name__ == "__main__": app = QApplication(sys.argv) screen=QApplication.primaryScreen() pix=s...

可以截图1:


  
  1. from PyQt5.QtWidgets import QApplication
  2. import sys
  3. if __name__ == "__main__":
  4. app = QApplication(sys.argv)
  5. screen=QApplication.primaryScreen()
  6. pix=screen.grabWindow(QApplication.desktop().winId())
  7. pix.save("123.jpg")

但是我在paintEvent中调用,

但是如果是时钟,每秒更新一次,

这个能获取上一次渲染的画面,不能获取当前帧的最新界面,


  
  1. def paintEvent(self, event):
  2. screen = QtWidgets.QApplication.primaryScreen()
  3. screenshot = screen.grabWindow(self.winId())
  4. if self.img_count >0:
  5. tmp = datetime.now().strftime('%Y%m%d_%H%M%S_%f')
  6. # screenshot.save(f'{self.save_dir}/images/' + tmp + ".jpg", 'jpg')

方法2:

QWidget 保存为图片,能获取当前帧的最新界面:

但是这个有一半图片为黑屏,只能间隔取图:

文章来源: blog.csdn.net,作者:AI视觉网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/120113465

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。