def tabChanged(self, tabIdx): THRESHOLD = 1500 if tabIdx != 2: # the full changed view return if self.fullHistory is not None: return if not self.fullDiffSummary: return if self.fullDiffSummaryTotal > THRESHOLD: text = QTextBrowser() text.setHtml( "<br><br><br><center><font size=+3><b>Too many changes to show - {:,} features changed</b></font>" .format(self.fullDiffSummaryTotal)) layout = self.tabWidget.widget(2).layout() self.clearLayout(layout) #layout.setMargin(0) layout.addWidget(text) self.fullHistory = layout #self.tabWidget.widget(2).setLayout(layout) return # need to set it up layout = self.tabWidget.widget(2).layout() self.clearLayout(layout) #layout.setMargin(0) pr = self.prs[self.comboPr.currentText()] prid = pr["id"] total, diffsummary = self.server.diffSummaryPR(self.user, self.repo, prid) if total is None: text = QTextBrowser() text.setHtml( "<br><br><br><center><font size=+3><b>PR is in Conflict - Please Synchronize</b></font>" .format(self.fullDiffSummaryTotal)) layout = self.tabWidget.widget(2).layout() #layout.setMargin(0) self.clearLayout(layout) layout.addWidget(text) self.fullHistory = layout #self.tabWidget.widget(2).setLayout(layout) return layers = [l["path"] for l in diffsummary.values()] diffs = { layer: execute(lambda: list( self.server.diffPR(self.user, self.repo, layer, prid)[1])) for layer in layers } fullDiffView = DiffViewerWidget(diffs) fullDiffView.selectFirstChangedFeature() layout.addWidget(fullDiffView) self.fullHistory = layout
def initGui(self): layout = QVBoxLayout() splitter = QSplitter() splitter.setOrientation(Qt.Vertical) self.history = HistoryTree(self.dialog) self.history.updateContent(self.server, self.user, self.repo, self.graph, self.layer) self.historyWithFilter = HistoryTreeWrapper(self.history) if self.simplifyLog: self.historyWithFilter.simplify(True) splitter.addWidget(self.historyWithFilter) self.tabWidget = QTabWidget() self.tabCanvas = QWidget() tabLayout = QVBoxLayout() tabLayout.setMargin(0) self.canvas = QgsMapCanvas(self.tabCanvas) self.canvas.setCanvasColor(Qt.white) self.panTool = QgsMapToolPan(self.canvas) self.canvas.setMapTool(self.panTool) tabLayout.addWidget(self.canvas) self.labelNoChanges = QLabel("This commit doesn't change any geometry") self.labelNoChanges.setAlignment(Qt.AlignCenter) self.labelNoChanges.setVisible(False) tabLayout.addWidget(self.labelNoChanges) self.tabCanvas.setLayout(tabLayout) self.summaryTextBrowser = QTextBrowser() self.summaryTextBrowser.setOpenLinks(False) self.summaryTextBrowser.anchorClicked.connect(self.summaryTextBrowserAnchorClicked) self.tabWidget.addTab(self.summaryTextBrowser, "Commit Summary") self.tabWidget.addTab(self.tabCanvas, "Map") tabLayout = QVBoxLayout() tabLayout.setMargin(0) self.tabDiffViewer = QWidget() self.diffViewer = DiffViewerWidget({}) tabLayout.addWidget(self.diffViewer) self.tabDiffViewer.setLayout(tabLayout) self.tabWidget.addTab(self.tabDiffViewer, "Attributes") splitter.addWidget(self.tabWidget) self.label = QTextBrowser() self.label.setVisible(False) splitter.addWidget(self.label) self.tabWidget.setCurrentWidget(self.tabDiffViewer) layout.addWidget(splitter) self.setLayout(layout) exportDiffButton = QPushButton("Export this commit's DIFF for all layers") exportDiffButton.clicked.connect(self.exportDiffAllLayers) layout.addWidget(exportDiffButton) self.label.setMinimumHeight(self.tabWidget.height()) self.setWindowTitle("Repository history")
def setupUi(self, GHydraulicsResultDialog): GHydraulicsResultDialog.setObjectName(_fromUtf8("GHydraulicsResultDialog")) GHydraulicsResultDialog.resize(640, 480) self.buttonBox = QDialogButtonBox(GHydraulicsResultDialog) self.buttonBox.setGeometry(QtCore.QRect(10, 440, 620, 32)) self.buttonBox.setOrientation(QtCore.Qt.Horizontal) self.buttonBox.setStandardButtons(QDialogButtonBox.Cancel|QDialogButtonBox.Ok) self.buttonBox.setObjectName(_fromUtf8("buttonBox")) self.tabWidget = QTabWidget(GHydraulicsResultDialog) self.tabWidget.setGeometry(QtCore.QRect(10, 10, 620, 390)) self.tabWidget.setObjectName(_fromUtf8("tabWidget")) self.tabOutput = QWidget() self.tabOutput.setObjectName(_fromUtf8("tabOutput")) self.textOutput = QTextBrowser(self.tabOutput) self.textOutput.setGeometry(QtCore.QRect(10, 10, 600, 340)) sizePolicy = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.textOutput.sizePolicy().hasHeightForWidth()) self.textOutput.setSizePolicy(sizePolicy) self.textOutput.setObjectName(_fromUtf8("textOutput")) self.tabWidget.addTab(self.tabOutput, _fromUtf8("")) self.tabReport = QWidget() self.tabReport.setObjectName(_fromUtf8("tabReport")) self.textReport = QTextBrowser(self.tabReport) self.textReport.setGeometry(QtCore.QRect(10, 10, 600, 340)) sizePolicy = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.textReport.sizePolicy().hasHeightForWidth()) self.textReport.setSizePolicy(sizePolicy) self.textReport.setObjectName(_fromUtf8("textReport")) self.tabWidget.addTab(self.tabReport, _fromUtf8("")) self.comboStep = QComboBox(GHydraulicsResultDialog) self.comboStep.setGeometry(QtCore.QRect(150, 410, 80, 27)) self.comboStep.setObjectName(_fromUtf8("comboStep")) self.labelStep = QLabel(GHydraulicsResultDialog) self.labelStep.setGeometry(QtCore.QRect(10, 415, 120, 17)) self.labelStep.setObjectName(_fromUtf8("labelStep")) self.retranslateUi(GHydraulicsResultDialog) self.tabWidget.setCurrentIndex(0) #QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), GHydraulicsResultDialog.accept) self.buttonBox.accepted.connect(GHydraulicsResultDialog.accept) #QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), GHydraulicsResultDialog.reject) self.buttonBox.rejected.connect(GHydraulicsResultDialog.reject) QtCore.QMetaObject.connectSlotsByName(GHydraulicsResultDialog)
def __init__(self, session): super(SessionFinishedDialog, self).__init__(iface.mainWindow()) self.reopen = False self.session = session self.setWindowTitle("Session finished") self.verticalLayout = QVBoxLayout() self.verticalLayout.setSpacing(10) self.verticalLayout.setMargin(10) txt = "<p>Congratulations! You have correctly finished this session.</p>" if session.nextSessions: txt += "<p>We recommend you the following sessions to continue:</p><ul>" for i, nextSession in enumerate(session.nextSessions): txt += "<li><a href='%i'>%s</a>" % (i, nextSession[1]) txt += "</ul><p>If you don't want to run more sessions, just <a href='exit'>close this dialog.</a></p>" txt += "<p>If you want to run another session, click <a href='reopen'>here</a> to reopen the session selector</p>" self.text = QTextBrowser() self.text.anchorClicked.connect(self.linkClicked) self.text.setHtml(txt) self.text.setOpenLinks(False) self.verticalLayout.addWidget(self.text) self.setLayout(self.verticalLayout) self.resize(400, 300) self.nextSession = None
def __init__(self, pt): super().__init__(iface.mainWindow()) self.pt = pt layout = QVBoxLayout() textbrowser = QTextBrowser() textbrowser.setOpenLinks(False) textbrowser.setOpenExternalLinks(False) textbrowser.anchorClicked.connect(self._link_clicked) url = ( "https://learn.planet.com/sample-skysat.html?utm_source=defense-and-intelligence&" "amp;utm_medium=website&amp;utm_campaign=skysat-sample-imagery&amp;" "utm_content=skysat-sample-imagery") text = f"""<p><strong>Complete your high resolution imagery order</strong></p> <p><br/>Your custom high resolution imagery order can be completed using Planet’s Tasking Dashboard. The dashboard allows you to place an order to task our SkySat satellite and get high-resolution imagery for your area and time of interest.</p> <p>If you have not yet purchased the ability to order high-resolution imagery, you may download samples<a href="{url}"> here</a> and contact our sales team <a href="https://www.planet.com/contact-sales/"> here</a>.</p> <p> </p> <p"><a href="dashboard">Take me to the Tasking Dashboard</a> </p>""" textbrowser.setHtml(text) layout.addWidget(textbrowser) self.setLayout(layout) self.setFixedSize(600, 400)
def __init__(self, _iface: QgisInterface = None, meshblock_layer: QgsVectorLayer = None): super().__init__() self.setWindowTitle(self.tr('Selected Meshblock Population')) self.meshblock_layer = meshblock_layer if _iface is not None: self.iface = _iface else: self.iface = iface dock_contents = QWidget() grid = QGridLayout(dock_contents) grid.setContentsMargins(0, 0, 0, 0) self.frame = QTextBrowser() self.frame.setOpenLinks(False) self.frame.anchorClicked.connect(self.anchor_clicked) grid.addWidget(self.frame, 1, 0, 1, 1) self.setWidget(dock_contents) self.meshblock_layer.selectionChanged.connect(self.selection_changed) self.task = None self.district_registry = None self.target_electorate = None self.quota = 0
def setupUi(self): self.resize(800, 600) self.setWindowTitle("Authorship") layout = QVBoxLayout() splitter = QSplitter(self) splitter.setOrientation(Qt.Vertical) self.table = QTableWidget(splitter) self.table.setColumnCount(3) self.table.setShowGrid(False) self.table.verticalHeader().hide() self.table.setHorizontalHeaderLabels(["Attribute", "Author", "Value"]) self.table.setRowCount(len(self.blamedata)) self.table.setSelectionBehavior(QAbstractItemView.SelectRows) self.table.setSelectionMode(QAbstractItemView.SingleSelection); self.table.selectionModel().selectionChanged.connect(self.selectionChanged) for i, name in enumerate(self.blamedata.keys()): values = self.blamedata[name] self.table.setItem(i, 0, QTableWidgetItem(name)); self.table.setItem(i, 1, QTableWidgetItem(values[1].authorname)); self.table.setItem(i, 2, QTableWidgetItem(values[0])); self.table.resizeRowsToContents() self.table.horizontalHeader().setMinimumSectionSize(250) self.table.horizontalHeader().setStretchLastSection(True) self.text = QTextBrowser(splitter) layout.addWidget(splitter) self.setLayout(layout) QMetaObject.connectSlotsByName(self)
def __init__(self): QtWidgets.QDialog.__init__(self) self.setMinimumWidth(600) self.setMinimumHeight(450) self.helpFile = os.path.join(os.path.dirname(__file__), 'README.html') self.setWindowTitle('VectorBender') txt = QTextBrowser() txt.setReadOnly(True) txt.setSearchPaths([os.path.dirname(__file__)]) txt.setOpenExternalLinks(True) txt.setText(open(self.helpFile, 'r').read()) cls = QPushButton('Close') cls.pressed.connect(self.accept) lay = QVBoxLayout() lay.addWidget(txt) lay.addWidget(cls) self.setLayout(lay)
def __init__(self, parent, url): QDialog.__init__(self, parent) self.resize(800, 600) l = QVBoxLayout() self.te = QTextBrowser(self) self.te.sourceChanged.connect(self.onSourceChanged) self.te.setOpenExternalLinks(True) if not url.startswith("http"): pwd = os.path.dirname(__file__) locale = QSettings().value("locale/userLocale")[0:2] file = "{}/doc/{}/{}".format(pwd, locale, url) if not os.path.isfile(file): file = "{}/doc/en/{}".format(pwd, url) self.te.setSource(QUrl.fromLocalFile(file)) else: self.te.setSource(QUrl(url)) btn = QDialogButtonBox(QDialogButtonBox.Ok, Qt.Horizontal, self) btn.clicked.connect(self.close) l.addWidget(self.te) l.addWidget(btn) self.setLayout(l)
def __init__(self, title, content, parent=None): super(HtmlDialog, self).__init__(parent) self.setWindowTitle(title) self.verticalLayout = QVBoxLayout() self.verticalLayout.setSpacing(10) self.verticalLayout.setMargin(10) self.text = QTextBrowser() self.text.setHtml(content) self.verticalLayout.addWidget(self.text) self.setLayout(self.verticalLayout) self.resize(400, 400)
def _show_terms(self, _): if self._terms_browser is None: self._terms_browser = QTextBrowser() self._terms_browser.setReadOnly(True) self._terms_browser.setOpenExternalLinks(True) self._terms_browser.setMinimumSize(600, 700) # TODO: Template terms.html first section, per subscription level # Collect subscription info from self.p_client.user self._terms_browser.setSource( QUrl('qrc:/plugins/planet_explorer/terms.html')) self._terms_browser.setWindowModality(Qt.ApplicationModal) self._terms_browser.show()
def _on_tb_btn_clicked(message, tb_text): vbox = QVBoxLayout() dlg = QDialog() dlg.setWindowTitle('Traceback') text_browser = QTextBrowser() unformatted_msg = message formatted_msg = highlight(tb_text, PythonLexer(), HtmlFormatter(full=True)) text_browser.setHtml(unformatted_msg + formatted_msg) vbox.addWidget(text_browser) dlg.setLayout(vbox) dlg.setMinimumSize(700, 500) dlg.exec_()
def __init__(self, parent=None): QWidget.__init__(self, parent) self.txtStdout = QTextBrowser() self.bar = QgsMessageBar() self.bar.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed) self.txtStdout.setLayout(QGridLayout()) self.txtStdout.layout().setContentsMargins(0, 0, 0, 0) self.txtStdout.layout().addWidget(self.bar, 0, 0, Qt.AlignTop) layout = QGridLayout() layout.addWidget(self.txtStdout) self.setLayout(layout)
def initGui(self): self.setWindowTitle('QConsolidate3') self.buttonBox = QDialogButtonBox(QDialogButtonBox.Close | QDialogButtonBox.Help) self.label = QLabel("QConsolidate3") self.label.setStyleSheet("font-weight: bold") self.lblLogo = QLabel() self.lblVersion = QLabel() self.textBrowser = QTextBrowser() self.h_layout = QHBoxLayout() self.h_layout.addWidget(self.lblLogo) self.h_layout.addWidget(self.label) self.v_layout = QVBoxLayout() self.v_layout.addLayout(self.h_layout) self.v_layout.addWidget(self.lblVersion) self.v_layout.addWidget(self.textBrowser) self.v_layout.addWidget(self.buttonBox) self.setLayout(self.v_layout)
def __init__(self, plugin, html, gmlid, parent): QDialog.__init__(self, parent) self.resize(QSize(740, 580)) self.setWindowTitle(u"Flurstücksnachweis") self.plugin = plugin self.gmlid = gmlid self.tbEigentuemer = QTextBrowser(self) self.tbEigentuemer.setHtml(html) self.tbEigentuemer.setContextMenuPolicy(Qt.NoContextMenu) layout = QVBoxLayout(self) layout.addWidget(self.tbEigentuemer) self.setLayout(layout) self.restoreGeometry(QSettings("norBIT", "norGIS-ALKIS-Erweiterung").value("infogeom", QByteArray(), type=QByteArray)) self.move(self.pos() + QPoint(16, 16) * (len(self.info) - 1))
def __init__(self, version): super(AboutDialog, self).__init__() dialog_layout = QVBoxLayout() htmlText = """ <h3>{} - release {}</h3> Created by M. Alberti ([email protected]). <br /><br /><a href="https://github.com/mauroalberti/qgSurf">https://github.com/mauroalberti/qgSurf</a> <br /><br />Processing of geological data. <br /><br />Licensed under the terms of GNU GPL 3. """.format(plugin_nm, version) aboutQTextBrowser = QTextBrowser(self) aboutQTextBrowser.insertHtml(htmlText) aboutQTextBrowser.setMinimumSize(400, 200) dialog_layout.addWidget(aboutQTextBrowser) self.setLayout(dialog_layout) self.setWindowTitle('{} about'.format(plugin_nm))
def __init__(self, _iface: QgisInterface = None): super().__init__() if _iface is not None: self.iface = _iface else: self.iface = iface dock_contents = QWidget() grid = QGridLayout(dock_contents) grid.setContentsMargins(0, 0, 0, 0) self._dock_toolbar = QToolBar(dock_contents) self._dock_toolbar.setFloatable(False) grid.addWidget(self._dock_toolbar, 0, 0, 1, 1) self._dock_toolbar.setIconSize(self.iface.iconSize(True)) self.frame = QTextBrowser() self.frame.setOpenLinks(False) self.frame.anchorClicked.connect(self.anchor_clicked) grid.addWidget(self.frame, 1, 0, 1, 1) self.setWidget(dock_contents)
def __init__(self, iface, parent=None): super(MainDialog, self).__init__(parent) QDialog.__init__(self) self.setupUi(self) self.iface = iface self.previewUrl = None self.layer_search_combo = None self.layer_filter_select = None self.exporter_combo = None self.feedback = FeedbackDialog(self) self.feedback.setModal(True) stgs = QSettings() self.restoreGeometry( stgs.value("qgis2web/MainDialogGeometry", QByteArray(), type=QByteArray)) self.verticalLayout_2.addStretch() self.horizontalLayout_6.addStretch() if stgs.value("qgis2web/previewOnStartup", Qt.Checked) == Qt.Checked: self.previewOnStartup.setCheckState(Qt.Checked) else: self.previewOnStartup.setCheckState(Qt.Unchecked) if stgs.value("qgis2web/closeFeedbackOnSuccess", Qt.Checked) == Qt.Checked: self.closeFeedbackOnSuccess.setCheckState(Qt.Checked) else: self.closeFeedbackOnSuccess.setCheckState(Qt.Unchecked) self.previewFeatureLimit.setText( stgs.value("qgis2web/previewFeatureLimit", "1000")) self.appearanceParams.setSelectionMode( QAbstractItemView.SingleSelection) self.preview = None if webkit_available: widget = QWebView() self.preview = widget try: # if os.environ["TRAVIS"]: self.preview.setPage(WebPage()) except Exception: print("Failed to set custom webpage") webview = self.preview.page() webview.setNetworkAccessManager(QgsNetworkAccessManager.instance()) self.preview.settings().setAttribute( QWebSettings.DeveloperExtrasEnabled, True) self.preview.settings().setAttribute( QWebSettings.DnsPrefetchEnabled, True) else: widget = QTextBrowser() widget.setText( self.tr('Preview is not available since QtWebKit ' 'dependency is missing on your system')) self.right_layout.insertWidget(0, widget) self.populateConfigParams(self) self.populate_layers_and_groups(self) self.populateLayerSearch() self.populateAttrFilter() writer = WRITER_REGISTRY.createWriterFromProject() self.setStateToWriter(writer) self.exporter = EXPORTER_REGISTRY.createFromProject() self.exporter_combo.setCurrentIndex( self.exporter_combo.findText(self.exporter.name())) self.exporter_combo.currentIndexChanged.connect( self.exporterTypeChanged) self.toggleOptions() if webkit_available: if self.previewOnStartup.checkState() == Qt.Checked: self.autoUpdatePreview() self.buttonPreview.clicked.connect(self.previewMap) else: self.buttonPreview.setDisabled(True) QgsProject.instance().cleared.connect(self.reject) self.layersTree.model().dataChanged.connect(self.populateLayerSearch) self.layersTree.model().dataChanged.connect(self.populateAttrFilter) self.ol3.clicked.connect(self.changeFormat) self.leaflet.clicked.connect(self.changeFormat) self.mapbox.clicked.connect(self.changeFormat) self.buttonExport.clicked.connect(self.saveMap) helpText = os.path.join(os.path.dirname(os.path.realpath(__file__)), "helpFile.md") self.helpField.setSource(QUrl.fromLocalFile(helpText)) if webkit_available: self.devConsole = QWebInspector(self.preview) self.devConsole.setFixedHeight(0) self.devConsole.setObjectName("devConsole") self.devConsole.setPage(self.preview.page()) self.devConsole.hide() self.right_layout.insertWidget(1, self.devConsole) self.filter = devToggleFilter() self.filter.devToggle.connect(self.showHideDevConsole) self.installEventFilter(self.filter) self.setModal(False)
def setupUi(self): self.labels = {} self.widgets = {} self.checkBoxes = {} self.showAdvanced = False self.wrappers = {} self.valueItems = {} self.dependentItems = {} self.resize(650, 450) self.buttonBox = QDialogButtonBox() self.buttonBox.setOrientation(Qt.Horizontal) self.buttonBox.setStandardButtons(QDialogButtonBox.Cancel | QDialogButtonBox.Ok) tooltips = self._alg.getParameterDescriptions() self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.verticalLayout = QVBoxLayout() self.verticalLayout.setSpacing(5) self.verticalLayout.setMargin(20) self.bar = QgsMessageBar() self.bar.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed) self.verticalLayout.addWidget(self.bar) hLayout = QHBoxLayout() hLayout.setSpacing(5) hLayout.setMargin(0) descriptionLabel = QLabel(self.tr("Description")) self.descriptionBox = QLineEdit() self.descriptionBox.setText(self._alg.displayName()) hLayout.addWidget(descriptionLabel) hLayout.addWidget(self.descriptionBox) self.verticalLayout.addLayout(hLayout) line = QFrame() line.setFrameShape(QFrame.HLine) line.setFrameShadow(QFrame.Sunken) self.verticalLayout.addWidget(line) for param in self._alg.parameters: if param.isAdvanced: self.advancedButton = QPushButton() self.advancedButton.setText( self.tr('Show advanced parameters')) self.advancedButton.clicked.connect( self.showAdvancedParametersClicked) advancedButtonHLayout = QHBoxLayout() advancedButtonHLayout.addWidget(self.advancedButton) advancedButtonHLayout.addStretch() self.verticalLayout.addLayout(advancedButtonHLayout) break for param in self._alg.parameters: if param.hidden: continue desc = param.description if isinstance(param, ParameterExtent): desc += self.tr('(xmin, xmax, ymin, ymax)') if isinstance(param, ParameterPoint): desc += self.tr('(x, y)') if param.optional: desc += self.tr(' [optional]') label = QLabel(desc) self.labels[param.name] = label wrapper = param.wrapper(self) self.wrappers[param.name] = wrapper widget = wrapper.widget if widget is not None: self.valueItems[param.name] = widget if param.name in list(tooltips.keys()): tooltip = tooltips[param.name] else: tooltip = param.description label.setToolTip(tooltip) widget.setToolTip(tooltip) if param.isAdvanced: label.setVisible(self.showAdvanced) widget.setVisible(self.showAdvanced) self.widgets[param.name] = widget self.verticalLayout.addWidget(label) self.verticalLayout.addWidget(widget) for output in self._alg.outputs: if output.hidden: continue if isinstance(output, (OutputRaster, OutputVector, OutputTable, OutputHTML, OutputFile, OutputDirectory)): label = QLabel(output.description + '<' + output.__class__.__name__ + '>') item = QLineEdit() if hasattr(item, 'setPlaceholderText'): item.setPlaceholderText(ModelerParametersDialog.ENTER_NAME) self.verticalLayout.addWidget(label) self.verticalLayout.addWidget(item) self.valueItems[output.name] = item label = QLabel(' ') self.verticalLayout.addWidget(label) label = QLabel(self.tr('Parent algorithms')) self.dependenciesPanel = self.getDependenciesPanel() self.verticalLayout.addWidget(label) self.verticalLayout.addWidget(self.dependenciesPanel) self.verticalLayout.addStretch(1000) self.setPreviousValues() self.setWindowTitle(self._alg.displayName()) self.verticalLayout2 = QVBoxLayout() self.verticalLayout2.setSpacing(2) self.verticalLayout2.setMargin(0) self.tabWidget = QTabWidget() self.tabWidget.setMinimumWidth(300) self.paramPanel = QWidget() self.paramPanel.setLayout(self.verticalLayout) self.scrollArea = QgsScrollArea() self.scrollArea.setWidget(self.paramPanel) self.scrollArea.setWidgetResizable(True) self.tabWidget.addTab(self.scrollArea, self.tr('Parameters')) self.txtHelp = QTextBrowser() html = None isText, algHelp = self._alg.help() if algHelp is not None: algHelp = algHelp if isText else QUrl(algHelp) try: if isText: self.txtHelp.setHtml(algHelp) else: html = self.tr( '<p>Downloading algorithm help... Please wait.</p>') self.txtHelp.setHtml(html) self.tabWidget.addTab(self.txtHelp, 'Help') self.reply = QgsNetworkAccessManager.instance().get( QNetworkRequest(algHelp)) self.reply.finished.connect(self.requestFinished) except: pass self.verticalLayout2.addWidget(self.tabWidget) self.verticalLayout2.addWidget(self.buttonBox) self.setLayout(self.verticalLayout2) self.buttonBox.accepted.connect(self.okPressed) self.buttonBox.rejected.connect(self.cancelPressed) QMetaObject.connectSlotsByName(self) for wrapper in list(self.wrappers.values()): wrapper.postInitialize(list(self.wrappers.values()))