Python 3.7 Скриншот из виджета QT5 черный - PullRequest
1 голос
/ 25 марта 2020

Я делаю снимок экрана QtWidget через

import sys
import os
from PyQt5 import QtGui, QtCore, QtWidgets
from PyQt5.QtGui import QPixmap
from matplotlibwidget import MatplotlibWidget

screenshot = QtWidgets.QWidget.grab(uiCompareGraph.matplotlibwidget_compare) 
screenshot.save("screenshot.png", 'PNG')

, который работает в основном нормально, когда я делаю только один снимок экрана. Теперь моя проблема заключается в том, что моя программа может выполнить массовый анализ моих данных и, следовательно, создает серию снимков экрана, из которых первый всегда черный, а все остальные - хорошие. Я экспериментировал с задержкой до скриншота, но это не сработало. Есть ли альтернативный простой способ создания скриншота QtWidget? Спасибо!

1 Ответ

0 голосов
/ 25 марта 2020

Черный экран иногда является признаком того, что программа использует прямой аппаратный рендеринг, но случай, когда он всегда первый, предполагает больше похожую на ошибку.

Как насчет попробовать автономную библиотеку скриншотов? Есть несколько для python, например, https://pypi.org/project/pyscreenshot/

...