2017-10-17 10 views
1

Salut tout le monde je suis d'obtenir un mise en tiroir snapshoot d'un widget en utilisant pyqt5 J'utilise ce code, mais je ne peux pas créer un objet de la classe QScreen je reçois une erreur:snapshoot widget pyqt5

PyQt5.QtGui.QScreen ne peut pas être instancié ou sous-classé

import sys 
from PyQt5 import QtCore, QtGui, QtWidgets 
from PyQt5.QtGui import QPixmap,QScreen 
from PyQt5.QtWidgets import QApplication  
from datetime import datetime 

date = datetime.now() 

filename = date.strftime('%Y-%m-%d_%H-%M-%S.jpg') 

app = QApplication(sys.argv) 

sc=QtGui.QScreen() 

sc.grabWindow(QApplication.desktop().winId()).save(filename, 'jpg') 
+1

'app.primaryScreen(). GrabWindow (0) .save (nom de fichier, 'jpg')' – ekhumoro

Répondre

0

Vous pouvez obtenir une référence à l'écran avec:

sc = app.screens()[0] 

Cette method retourne une liste d'écrans, je suppose que vous voulez que le premier (avec un indice [0])