def __init__(self, url, total_time): QtGui.QMainWindow.__init__(self) self.progress = 0 self.url = url self.total_time = total_time QtNetwork.QNetworkProxyFactory.setUseSystemConfiguration(True) self.setGeometry(QtCore.QRect(200, 30, 1024, 700)) # Graphics view self.view = QtGui.QGraphicsView() self.view.setViewportUpdateMode(QtGui.QGraphicsView.MinimalViewportUpdate) self.view.setOptimizationFlags(QtGui.QGraphicsView.DontSavePainterState) self.view.setFrameShape(QtGui.QFrame.NoFrame) self.view.setSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) self.view.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.view.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.view.resize(800, 700) self.scene_width = 1024 self.scene_height = 700 self.view.setSceneRect(QtCore.QRectF(0, 0, self.scene_width, self.scene_height)) self.view.setRenderHints(QtGui.QPainter.Antialiasing | QtGui.QPainter.SmoothPixmapTransform) # Graphics scene self.scene = QtGui.QGraphicsScene() self.view.setScene(self.scene) # Graphics web view self.fast_view = QtWebKit.QGraphicsWebView() #self.fast_view.page().setViewportSize(QtCore.QSize(600, 600)) self.fast_view.resize(1024, 768) self.settings = self.fast_view.settings() self.settings.setAttribute(QtWebKit.QWebSettings.AcceleratedCompositingEnabled, True) #self.settings.setAttribute(QtWebKit.QWebSettings.WebGLEnabled, True) #self.settings.setAttribute(QtWebKit.QWebSettings.PluginsEnabled, True) # GL widget for QGraphicsView self.qglwidget = QtOpenGL.QGLWidget() self.view.setViewport(self.qglwidget) self.scene.addItem(self.fast_view) self.setCentralWidget(self.view) self.fast_view.loadFinished.connect(self.finishLoading) self.openInfographic()
def __init__(self, url): super(MainWindow, self).__init__() self.progress = 0 fd = QtCore.QFile(":/jquery.min.js") if fd.open(QtCore.QIODevice.ReadOnly | QtCore.QFile.Text): self.jQuery = QtCore.QTextStream(fd).readAll() fd.close() else: self.jQuery = '' QtNetwork.QNetworkProxyFactory.setUseSystemConfiguration(True) self.setGeometry(QtCore.QRect(200, 50, 1024, 600)) # Graphics view self.view = QtGui.QGraphicsView() self.view.setViewportUpdateMode( QtGui.QGraphicsView.MinimalViewportUpdate) self.view.setOptimizationFlags( QtGui.QGraphicsView.DontSavePainterState) self.view.setFrameShape(QtGui.QFrame.NoFrame) self.view.setSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) self.view.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.view.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.view.resize(800, 600) self.scene_width = 1024 self.scene_height = 600 self.view.setSceneRect( QtCore.QRectF(0, 0, self.scene_width, self.scene_height)) #self.view.set self.view.setRenderHints(QtGui.QPainter.Antialiasing | QtGui.QPainter.SmoothPixmapTransform) # Graphics scene self.scene = QtGui.QGraphicsScene() self.view.setScene(self.scene) # Graphics web view self.fast_view = QtWebKit.QGraphicsWebView() #self.fast_view.page().setViewportSize(QtCore.QSize(600, 600)) self.fast_view.resize(1024, 768) self.settings = self.fast_view.settings() self.settings.setAttribute( QtWebKit.QWebSettings.AcceleratedCompositingEnabled, True) self.settings.setAttribute(QtWebKit.QWebSettings.WebGLEnabled, True) self.settings.setAttribute(QtWebKit.QWebSettings.PluginsEnabled, True) # GL widget for QGraphicsView self.qglwidget = QtOpenGL.QGLWidget() self.view.setViewport(self.qglwidget) self.scene.addItem(self.fast_view) # Connect progressions self.fast_view.load(url) self.fast_view.loadFinished.connect(self.adjustLocation) self.fast_view.titleChanged.connect(self.adjustTitle) self.fast_view.loadProgress.connect(self.setProgress) self.fast_view.loadFinished.connect(self.finishLoading) # Location self.locationEdit = QtGui.QLineEdit(self) self.locationEdit.setSizePolicy( QtGui.QSizePolicy.Expanding, self.locationEdit.sizePolicy().verticalPolicy()) self.locationEdit.returnPressed.connect(self.changeLocation) # Toolbar toolBar = self.addToolBar("Navigation") toolBar.addAction(self.fast_view.pageAction(QtWebKit.QWebPage.Back)) toolBar.addAction(self.fast_view.pageAction(QtWebKit.QWebPage.Forward)) toolBar.addAction(self.fast_view.pageAction(QtWebKit.QWebPage.Reload)) toolBar.addAction(self.fast_view.pageAction(QtWebKit.QWebPage.Stop)) toolBar.addWidget(self.locationEdit) # Menu bar viewMenu = self.menuBar().addMenu("&View") viewSourceAction = QtGui.QAction("Page Source", self) viewSourceAction.triggered.connect(self.viewSource) viewMenu.addAction(viewSourceAction) # Button buttonMenu = self.menuBar().addMenu("&Open Infographic") openAction = QtGui.QAction("Open", self) openAction.triggered.connect(self.openInfographic) buttonMenu.addAction(openAction) viewCaptureAction = QtGui.QAction("Capture", self) viewCaptureAction.triggered.connect(self.initGrab) buttonMenu.addAction(viewCaptureAction) # effectMenu = self.menuBar().addMenu("&Effect") effectMenu.addAction("Highlight all links", self.highlightAllLinks) self.rotateAction = QtGui.QAction(self.style().standardIcon( QtGui.QStyle.SP_FileDialogDetailedView), "Turn images upside down", self, checkable=True, toggled=self.rotateImages) effectMenu.addAction(self.rotateAction) toolsMenu = self.menuBar().addMenu("&Tools") toolsMenu.addAction("Remove GIF images", self.removeGifImages) toolsMenu.addAction("Remove all inline frames", self.removeInlineFrames) toolsMenu.addAction("Remove all object elements", self.removeObjectElements) toolsMenu.addAction("Remove all embedded elements", self.removeEmbeddedElements) self.setCentralWidget(self.view) self.setUnifiedTitleAndToolBarOnMac(True)