def _createUi(self, q): textEdit = QtWidgets.QPlainTextEdit() textEdit.setToolTip("BBCode") #textEdit.setAcceptRichText(False) skqss.class_(textEdit, 'normal') textView = QtWidgets.QTextBrowser() skqss.class_(textView, 'texture') textView.setToolTip("HTML") textView.setReadOnly(True) textView.setOpenExternalLinks(True) textEdit.textChanged.connect( lambda: textView.setHtml(self.toHtml(textEdit.toPlainText()))) textEdit.setPlainText( """You can use this [u]tester[/u] to play with [url=http://en.wikipedia.org/wiki/BBCode][color=blue]BBCode[/color][/url] that you could use to format [color=red]subtitles[/color].""") #textEdit.resize(300, 200) center = QtWidgets.QSplitter(Qt.Vertical) center.setChildrenCollapsible(False) center.addWidget(textEdit) center.addWidget(textView) q.setCentralWidget(center)
def _createUi(self, q): #url = "http://en.wikipedia.org/wiki/Regular_expression" url = "http://www.regular-expressions.info/lookaround.html" self.textEdit.appendHtml( """You can use this tester to play with the regular expression (<a href="%s">%s</a>) used in the Shared Dictionary. <br/><br/> For example, "regular(?= exp)" will match all "regular" before " exp". """ % (url, url)) self.patternEdit.setText("regular(?= exp)") self.replaceEdit.setText("HELLO WORLD") for sig in ( self.textEdit.textChanged, self.patternEdit.textChanged, self.replaceEdit.textChanged, self.regexCheckBox.toggled, self.icaseCheckBox.toggled, ): sig.connect(self._refresh) layout = QtWidgets.QVBoxLayout() grid = QtWidgets.QGridLayout() # 0 grid.addWidget(create_label(tr_("Pattern")), 0, 0) grid.addWidget(self.patternEdit, 0, 1) # 1 grid.addWidget(create_label(tr_("Translation"))) grid.addWidget(self.replaceEdit) # 2 grid.addWidget(create_label(tr_("Status"))) grid.addWidget(self.messageEdit) layout.addLayout(grid) row = QtWidgets.QHBoxLayout() row.addWidget(self.regexCheckBox) row.addWidget(self.icaseCheckBox) layout.addLayout(row) splitter = QtWidgets.QSplitter(Qt.Vertical) splitter.addWidget(self.textEdit) splitter.addWidget(self.textView) layout.addWidget(splitter) q.setLayout(layout)