python pyqt 截图
时间: 2023-10-31 21:07:33 浏览: 171
您可以使用 PyQt 的 QScreen 类来截取屏幕。具体步骤如下:
1. 导入必要的模块:
```python
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QPixmap
```
2. 创建 QApplication 实例:
```python
app = QApplication([])
```
3. 创建 QWidget 实例,并设置其大小和位置:
```python
widget = QWidget()
widget.setGeometry(0, 0, 500, 500)
```
4. 使用 QScreen 类的 grabWindow 方法截取屏幕:
```python
screen = app.primaryScreen()
pixmap = screen.grabWindow(0, widget.x(), widget.y(), widget.width(), widget.height())
```
其中,第一个参数为窗口的 ID,如果为 0,则表示截取整个屏幕。
5. 将 QPixmap 对象保存为图片文件:
```python
pixmap.save('screenshot.png')
```
完整代码如下:
```python
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QPixmap
app = QApplication([])
widget = QWidget()
widget.setGeometry(0, 0, 500, 500)
screen = app.primaryScreen()
pixmap = screen.grabWindow(0, widget.x(), widget.y(), widget.width(), widget.height())
pixmap.save('screenshot.png')
```
阅读全文