如何制作特定巨大PyQt窗口的快照?

时间:2015-10-09 10:31:34

标签: python-3.x pyqt5

我将在python 3中编写一个脚本,它将在窗口(或滚动区域)中构建一些图形/图表/图表(之前在Qt Designer 5中创建并转换为* .py)。可能图形将大于屏幕尺寸(如2k x 3k像素)。 如何保存该图的快照图片?

例如。

  1. 用户加载数据并更改某些设置。
  2. Python构建图形。
  3. 用户点击“保存快照”。
  4. Python保存了picturesnapshot.png。
  5. 结束。
  6. UP1。忘了添加。 Graph是代码生成的进度条,标签,水平和垂直线等组合。

    UP2。 Proposed solution用于PyQt4。但我使用PyQt5,其中命令grabWidget和grabWindow已经过时,不建议使用。

      

    Obsolete Members for QPixmap.   类QPixmap的以下成员已过时。它们用于保持旧的源代码工作。我们强烈建议不要在新代码中使用它们。

1 个答案:

答案 0 :(得分:2)

确定。这是适当的解决方案发布。

为了保存巨大窗口的快照(甚至可能比屏幕分辨率更大),可以使用下面的一些代码:

方式1。

pix = QtGui.QPixmap(widget.size())
widget.render(pix)
pix.save("save.png")

方式2。

pix=widget.grab()
pix.save("save.png")