class HelpWidget(QWidget): def __init__(self, main, *args, **kwargs): super().__init__(*args, **kwargs) uic.loadUi( os.path.join(os.path.dirname(__file__), "ui", "HelpDialog.ui"), self) self.closeButton.pressed.connect(self.close) self.openBrowserButton.pressed.connect(self.open_in_browser) self.homeButton.pressed.connect(self.reset_url) self.main = main self.webview = QWebView() self.reset_url() self.contentWidget.layout().addWidget(self.webview) def reset_url(self): self.webview.setUrl( # TODO : change URL to actual documentation page QUrl("https://docs.traveltimeplatform.com/overview/introduction")) def open_in_browser(self): webbrowser.open(self.webview.url().toString()) self.close()
class QvBrowser(QWidget): svMogut = pyqtSignal(float, float) def __init__(self, parent): QWidget.__init__(self) self.parent = parent self.browser = QWebView() self.browser.setContentsMargins(0, 0, 0, 0) # self.browser.setUrl(QUrl("http://www.qt.io")) self.browser.resize(512, 375) self.browser.show() self.setContentsMargins(0, 0, 0, 0) self.layoutBrowser = QVBoxLayout(self) self.layoutBrowser.setContentsMargins(0, 0, 0, 0) self.layoutBrowser.setSpacing(0) self.botoneraQvBrowser = QFrame() self.botoneraQvBrowser.setContentsMargins(0, 0, 0, 0) self.botoneraQvBrowser.setMinimumHeight(30) self.botoneraQvBrowser.setMaximumHeight(45) # self.botoneraQvBrowser.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) # self.botoneraQvBrowser.setVerticalPolicy(QSizePolicy.Minimum) self.layoutBotonera = QHBoxLayout(self.botoneraQvBrowser) self.layoutBotonera.setContentsMargins(0, 0, 0, 0) self.layoutBotonera.setAlignment(Qt.AlignCenter) self.botoneraQvBrowser.setLayout(self.layoutBotonera) # self.botoTancar = BotoQvBrowser() # self.botoTancar.setText('SORTIR') # self.botoTancar.clicked.connect(self.tancar) # self.botoTancar.show() # self.botoOSM = BotoQvBrowser() # self.botoOSM.setText('OpenStreet Maps') # self.botoOSM.clicked.connect(self.openStreetMaps) self.botoGoogleMaps = BotoQvBrowser() self.botoGoogleMaps.setText('Google Maps') self.botoGoogleMaps.clicked.connect(self.openGoogleMaps) self.botoStreetView = BotoQvBrowser() self.botoStreetView.setText('Street view') self.botoStreetView.clicked.connect(self.openStreetView) self.browser.urlChanged.connect(self.extreuCoordenades) # self.layoutBotonera.addWidget(self.botoOSM) self.layoutBotonera.addWidget(self.botoGoogleMaps) self.layoutBotonera.addWidget(self.botoStreetView) self.layoutBrowser.addWidget(self.botoneraQvBrowser) self.layoutBrowser.addWidget(self.browser) self.setLayout(self.layoutBrowser) # https://www.openstreetmap.org/#map=17/41.38740/2.17272 def openGoogleMaps(self): self.browser.setUrl(QUrl(self.parent.urlGoogleMaps)) def openStreetMaps(self): # self.browser.setUrl(QUrl('https://www.openstreetmap.org/#map=16/41.38740/2.17272')) self.browser.setUrl(QUrl(self.parent.urlStreetMaps)) def openStreetView(self): self.browser.setUrl(QUrl(self.parent.urlStreetView)) def extreuCoordenades(self, url): urlStr = url.url() URLMAPS = 'https://www.google.com/maps/@' URLSV = 'https://www.google.com/maps?layer=c&cbll=' URLOSM = 'https://www.openstreetmap.org/#map=16/' if URLSV in urlStr: urlStr = urlStr.replace(URLSV, '') y, x = urlStr.split(',') elif URLMAPS in urlStr: urlStr = urlStr.replace(URLMAPS, '') sp = urlStr.split(',') y, x = sp[0], sp[1] elif URLOSM in urlStr: #Fer el que toqui return else: return x, y = float(x), float(y) # self.svMogut.emit(x,y) self.svMogut.emit(x, y) def tancar(self): print('sortir') self.hide()