def createView(self): """Creates the actual View instance.""" self.view = popplerview.View(self) self._main_layout.addWidget(self.view) self.view.setViewMode(qpopplerview.FitWidth) surface = self.view.surface() surface.setShowUrlTips(False) surface.setPageLayout(qpopplerview.RowLayout()) self.view.viewModeChanged.connect(self.updateZoomInfo) surface.pageLayout().scaleChanged.connect(self.updateZoomInfo) self.view.setContextMenuPolicy(Qt.CustomContextMenu) self.view.customContextMenuRequested.connect(self.showContextMenu)
def __init__(self, dockwidget): """Creates the Music View for the dockwidget.""" super(MusicView, self).__init__(dockwidget) self._positions = weakref.WeakKeyDictionary() self._currentDocument = None self._links = None self._clicking_link = False self._highlightFormat = QTextCharFormat() self._highlightMusicFormat = Highlighter() self._highlightRange = None self._highlightTimer = QTimer(singleShot=True, interval=250, timeout=self.updateHighlighting) self._highlightRemoveTimer = QTimer(singleShot=True, timeout=self.clearHighlighting) layout = QVBoxLayout() layout.setContentsMargins(0, 0, 0, 0) self.setLayout(layout) self.view = popplerview.View(self) self.view.MAX_ZOOM = 8.0 layout.addWidget(self.view) app.settingsChanged.connect(self.readSettings) self.readSettings() self.view.setViewMode(qpopplerview.FitWidth) self.view.surface().setPageLayout(qpopplerview.RowLayout()) self.view.surface().linkClicked.connect(self.slotLinkClicked) self.view.surface().linkHovered.connect(self.slotLinkHovered) self.view.surface().linkLeft.connect(self.slotLinkLeft) self.view.surface().setShowUrlTips(False) self.view.surface().linkHelpRequested.connect( self.slotLinkHelpRequested) self.view.viewModeChanged.connect(self.updateZoomInfo) self.view.surface().pageLayout().scaleChanged.connect( self.updateZoomInfo) self.view.setContextMenuPolicy(Qt.CustomContextMenu) self.view.customContextMenuRequested.connect(self.showContextMenu) # react if cursor of current text document moves dockwidget.mainwindow().currentViewChanged.connect( self.slotCurrentViewChanged) view = dockwidget.mainwindow().currentView() if view: self.slotCurrentViewChanged(view)