-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathusePyq4ToScreenshot.py
44 lines (35 loc) · 1.37 KB
/
usePyq4ToScreenshot.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/env python
#-*- coding:utf-8 -*-
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *
_fromUtf8 = QString.fromUtf8
class browser(QWebView):
def __init__(self, parent=None):
super(browser, self).__init__(parent)
MainWindow = QMainWindow()
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(1024, 768)
self.centralWidget = QWidget(MainWindow)
self.centralWidget.setObjectName(_fromUtf8("centralWidget"))
self.timerScreen = QTimer()
self.timerScreen.setInterval(2000)
self.timerScreen.setSingleShot(True)
self.timerScreen.timeout.connect(self.takeScreenshot)
self.webView = QWebView(self.centralWidget)
self.webSettings = self.webView.settings()
self.webSettings.setAttribute(QWebSettings.PluginsEnabled,True)
self.loadFinished.connect(self.timerScreen.start)
self.load(QUrl("file:///D:/testFlash.html"))
def takeScreenshot(self):
image = QImage(self.page().mainFrame().contentsSize(), QImage.Format_ARGB32)
painter = QPainter(image)
self.page().mainFrame().render(painter)
painter.end()
image.save(self.title() + ".png")
sys.exit()
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
main = browser()
app.exec_()