def valider(self): parameters = self.parent.parent.db.executewithreturn("""SELECT * FROM parameters""") self.parent.parent.db.executewithoutreturn( """UPDATE parameters SET home = ? WHERE id = ?""", (self.urlAccueil.text(), parameters[0][0])) self.parent.parent.db.executewithoutreturn( """UPDATE parameters SET moteur = ? WHERE id = ?""", (self.listeMoteur[self.moteurBox.currentIndex()], parameters[0][0])) self.parent.parent.dbConnection.executewithoutreturn( """UPDATE parameters SET js = ? WHERE id = ?""", (self.listejs[self.jsbox.currentIndex()], parameters[0][0])) if self.listejs[self.jsbox.currentIndex()] == "Activé": QWebEngineSettings.globalSettings().setAttribute(QWebEngineSettings.JavascriptEnabled, True) else: QWebEngineSettings.globalSettings().setAttribute(QWebEngineSettings.JavascriptEnabled, False) self.parent.parent.db.executewithoutreturn( """UPDATE parameters SET private = ? WHERE id = ?""", (self.listeprivate[self.privatebox.currentIndex()], parameters[0][0])) if self.listeprivate[self.privatebox.currentIndex()] == "Activé": QWebEngineProfile.defaultProfile().setHttpCacheType(QWebEngineProfile.MemoryHttpCache) self.parent.parent.privateBrowsing = True else: QWebEngineProfile.defaultProfile().setHttpCacheType(QWebEngineProfile.DiskHttpCache) self.parent.parent.privateBrowsing = False QMessageBox().about(self, "Enregistrement fait", "L'enregistrement des paramètres a été fait sans problème")
def __init__(self): super().__init__() self.label = QLabel('reCAPTCHA를 해결하고 확인 버튼을 누르세요.\n' '404 페이지가 로드되면 정상입니다. 완료 버튼을 눌러 종료하세요.') self.label.setStyleSheet('font: 10pt \'맑은 고딕\'') self.label.setAlignment(Qt.AlignCenter) self.label.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed) QWebEngineProfile.defaultProfile().setHttpAcceptLanguage('ko') self.browser = QWebEngineView() self.browser.setStyleSheet('border: 1px solid gray;') # self.browser.loadStarted.connect(self.test) # self.browser.loadFinished.connect(self.test2) self.btn_zoom_in = NPButton('+', 9, self) self.btn_zoom_in.setMinimumWidth(30) self.btn_zoom_in.setMaximumWidth(50) self.btn_zoom_in.clicked.connect(self.zoom_in) self.btn_zoom_out = NPButton('-', 9, self) self.btn_zoom_out.setMinimumWidth(30) self.btn_zoom_out.setMaximumWidth(50) self.btn_zoom_out.clicked.connect(self.zoom_out) self.btn = NPButton('완료', 10, self) self.btn.setMaximumWidth(200) self.btn.clicked.connect(self.accept) # self.btn.clicked.connect(self.test2) self.abc = False box_h = QHBoxLayout() box_h.addWidget(self.btn_zoom_in) box_h.addWidget(self.btn_zoom_out) box_h.addStretch(4) box_h.addWidget(self.btn) box_h.setStretchFactor(self.btn_zoom_in, 1) box_h.setStretchFactor(self.btn_zoom_out, 1) box_h.setStretchFactor(self.btn, 4) box_v = QVBoxLayout() box_v.addWidget(self.label) box_v.addWidget(self.browser) box_v.addLayout(box_h) box_v.setContentsMargins(8, 10, 8, 8) self.setLayout(box_v) # self.setWindowModality(Qt.ApplicationModal) self.setWindowTitle('reCAPTCHA') self.setWindowIcon(QIcon('icon.png')) self.setWindowFlag(Qt.WindowContextHelpButtonHint, False) self.browser.setFocus() self.resize(480, 700)
def test_SchemeHandlerRedirect(self): app = QApplication([]) handler = TestSchemeHandler() profile = QWebEngineProfile.defaultProfile() profile.installUrlSchemeHandler("testpy", handler) view = QWebEngineView() view.loadFinished.connect(app.quit) QTimer.singleShot(5000, app.quit) view.show() view.load("testpy:hello") app.exec_() self.assertEqual(view.url(), "testpy:goodbye")
def __init__(self): super(Browser, self).__init__() self.db = Database(os.path.join(os.path.dirname(__file__), "data.db")) self.db.createdb() self.centralWidget = QWidget(self) self.grid = QGridLayout(self.centralWidget) self.theme = "" self.version = "1.0.0" self.versionCompaDB = 1 self.versionAccDB = self.db.executewithreturn( """SELECT version FROM informations""")[0][0] if self.versionAccDB != self.versionCompaDB: QMessageBox.information( self, "Base de donnée non à jour", "La Base de donnée n'est pas compatible avec " "cette version de Browthon.\n" "Elle va être mise à jour.") self.dbConnection.disconnect() self.versionAccDB = majdb( os.path.join(os.path.dirname(__file__), "data.db"), self.versionAccDB, self.versionCompaDB) self.dbConnection.reconnect( os.path.join(os.path.dirname(__file__), "data.db")) self.dbConnection.createdb() QWebEngineSettings.globalSettings().setAttribute( QWebEngineSettings.FullScreenSupportEnabled, True) if self.db.executewithreturn( """SELECT js FROM parameters""")[0][0] == "Activé": QWebEngineSettings.globalSettings().setAttribute( QWebEngineSettings.JavascriptEnabled, True) else: QWebEngineSettings.globalSettings().setAttribute( QWebEngineSettings.JavascriptEnabled, False) if self.db.executewithreturn( """SELECT private FROM parameters""")[0][0] == "Activé": self.privateBrowsing = True QWebEngineProfile.defaultProfile().setHttpCacheType( QWebEngineProfile.MemoryHttpCache) else: self.privateBrowsing = False QWebEngineProfile.defaultProfile().setHttpCacheType( QWebEngineProfile.DiskHttpCache) self.urlInput = UrlInput(self) self.urlInput.setObjectName("addressBar") self.back = PushButton( "", QIcon(geticonpath(self, "../Icons/NavigationBar/back.png")), "backButton") self.forward = PushButton( "", QIcon(geticonpath(self, "../Icons/NavigationBar/forward.png")), "forwardButton") self.reload = PushButton( "", QIcon(geticonpath(self, "../Icons/NavigationBar/reload.png")), "reloadButton") self.bookmark = PushButton( "", QIcon(geticonpath(self, "../Icons/NavigationBar/noFav.png")), "favButton") self.home = PushButton( "", QIcon(geticonpath(self, "../Icons/NavigationBar/home.png")), "homeButton") self.parameter = PushButton( "", QIcon(geticonpath(self, "../Icons/NavigationBar/param.png")), "paramButton") self.tabWidget = TabWidget(self) self.tabWidget.tabBar().setObjectName("tabBar") self.tabWidget.requestsaddtab() self.back.setFlat(True) self.forward.setFlat(True) self.reload.setFlat(True) self.bookmark.setFlat(True) self.home.setFlat(True) self.parameter.setFlat(True) self.reload.clicked.connect(self.browserWidget.reload) self.back.clicked.connect(self.browserWidget.back) self.forward.clicked.connect(self.browserWidget.forward) self.bookmark.clicked.connect(self.fav) self.home.clicked.connect(lambda: self.urlInput.enterurlgiven( self.db.executewithreturn("""SELECT home FROM parameters""")[0][0]) ) self.parameter.clicked.connect(self.openparameter) self.grid.addWidget(self.back, 0, 0) self.grid.addWidget(self.reload, 0, 1) self.grid.addWidget(self.forward, 0, 2) self.grid.addWidget(self.urlInput, 0, 3) self.grid.addWidget(self.bookmark, 0, 4) self.grid.addWidget(self.home, 0, 5) self.grid.addWidget(self.parameter, 0, 6) self.grid.addWidget(self.tabWidget, 1, 0, 1, 7) self.grid.setContentsMargins(0, 0, 0, 0) self.grid.setSpacing(0) self.setCentralWidget(self.centralWidget) self.showMaximized() self.setWindowTitle('Browthon') self.parameterWindow = ParameterWindow(self) QWebEngineProfile.defaultProfile().\ downloadRequested.connect(self.parameterWindow.downloadPage.downloadrequested) theme = self.db.executewithreturn( """SELECT theme FROM parameters""")[0][0] if theme == "": self.theme = "" self.applytheme() else: if os.path.exists( os.path.join(os.path.dirname(__file__), "..", "Themes", theme, "theme.json")): self.theme = os.path.join(os.path.dirname(__file__), "..", "Themes", theme) self.applytheme() else: print("Le theme " + theme + " n'existe pas/plus.") self.theme = "" self.applytheme() self.parameterWindow.addonsPage.launchaddons("load") self.show() if self.db.executewithreturn( """SELECT first FROM parameters""")[0][0] == "O": parameters = self.dbConnection.executewithreturn( """SELECT * FROM parameters""") self.db.executewithoutreturn( """UPDATE parameters SET first = ? WHERE id = ?""", ("N", parameters[0][0]))
def __init__(self, context, parent=None): super(SVDBrowser, self).__init__(parent) QWebEngineProfile.defaultProfile().downloadRequested.connect( self.on_downloadRequested) # Create widgets #self.setWindowModality(Qt.ApplicationModal) self.title = QLabel(self.tr("SVD Browser")) self.closeButton = QPushButton(self.tr("Close")) self.setWindowTitle(self.title.text()) self.browseButton = QPushButton("Browse SVD Folder") self.deleteSvdButton = QPushButton("Delete") self.applySvdButton = QPushButton("Apply SVD") self.view = QWebEngineView() url = "https://developer.arm.com/tools-and-software/embedded/cmsis/cmsis-search" self.view.load(QUrl(url)) self.columns = 3 self.context = context self.currentFileLabel = QLabel() self.currentFile = "" #Files self.files = QFileSystemModel() self.files.setRootPath(svdPath) self.files.setNameFilters(["*.svd", "*.patched"]) #Tree self.tree = QTreeView() self.tree.setModel(self.files) self.tree.setSortingEnabled(True) self.tree.hideColumn(2) self.tree.sortByColumn(0, Qt.AscendingOrder) self.tree.setRootIndex(self.files.index(svdPath)) for x in range(self.columns): #self.tree.resizeColumnToContents(x) self.tree.header().setSectionResizeMode( x, QHeaderView.ResizeToContents) treeLayout = QVBoxLayout() treeLayout.addWidget(self.tree) treeButtons = QHBoxLayout() #treeButtons.addWidget(self.newFolderButton) treeButtons.addWidget(self.browseButton) treeButtons.addWidget(self.applySvdButton) treeButtons.addWidget(self.deleteSvdButton) treeLayout.addLayout(treeButtons) treeWidget = QWidget() treeWidget.setLayout(treeLayout) # Create layout and add widgets buttons = QHBoxLayout() buttons.addWidget(self.closeButton) vlayoutWidget = QWidget() vlayout = QVBoxLayout() vlayout.addWidget(self.view) vlayout.addLayout(buttons) vlayoutWidget.setLayout(vlayout) hsplitter = QSplitter() hsplitter.addWidget(treeWidget) hsplitter.addWidget(vlayoutWidget) hlayout = QHBoxLayout() hlayout.addWidget(hsplitter) self.showMaximized() #Fixes bug that maximized windows are "stuck" #Because you can't trust QT to do the right thing here # Set dialog layout self.setLayout(hlayout) # Add signals self.closeButton.clicked.connect(self.close) self.tree.selectionModel().selectionChanged.connect(self.selectFile) self.applySvdButton.clicked.connect(self.applySvd) self.deleteSvdButton.clicked.connect(self.deleteSvd) self.browseButton.clicked.connect(self.browseSvd)