Python PyQt5.QtGui.QTextDocument() Examples
The following are 17 code examples for showing how to use PyQt5.QtGui.QTextDocument(). These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example.
You may check out the related API usage on the sidebar.
You may also want to check out all available functions/classes of the module
PyQt5.QtGui
, or try the search function
.
Example 1
Project: qutebrowser Author: qutebrowser File: test_completiondelegate.py License: GNU General Public License v3.0 | 6 votes |
def test_highlighted(qtbot): """Make sure highlighting works. Note that with Qt 5.11.3 and > 5.12.1 we need to call setPlainText *after* creating the highlighter for highlighting to work. Ideally, we'd test whether CompletionItemDelegate._get_textdoc() works properly, but testing that is kind of hard, so we just test it in isolation here. """ doc = QTextDocument() completiondelegate._Highlighter(doc, 'Hello', Qt.red) doc.setPlainText('Hello World') # Needed so the highlighting actually works. edit = QTextEdit() qtbot.addWidget(edit) edit.setDocument(doc) colors = [f.foreground().color() for f in doc.allFormats()] assert QColor('red') in colors
Example 2
Project: Lector Author: BasioMeusPuga File: read_epub.py License: GNU General Public License v3.0 | 6 votes |
def get_chapter_content(self, chapter_file): this_file = self.find_file(chapter_file) if this_file: chapter_content = self.zip_file.read(this_file).decode() # Generate a None return for a blank chapter # These will be removed from the contents later contentDocument = QtGui.QTextDocument(None) contentDocument.setHtml(chapter_content) contentText = contentDocument.toPlainText().replace('\n', '') if contentText == '': chapter_content = None return chapter_content else: return 'Possible parse error: ' + chapter_file
Example 3
Project: dash-masternode-tool Author: Bertrand256 File: masternode_details.py License: MIT License | 6 votes |
def get_max_left_label_width(self): doc = QTextDocument(self) doc.setDocumentMargin(0) doc.setDefaultFont(self.lblOwnerKey.font()) doc.setHtml('Test') def get_lbl_text_width(lbl): nonlocal doc doc.setHtml(lbl.text()) return int(doc.size().width() + 5) w = max(get_lbl_text_width(self.lblName), get_lbl_text_width(self.lblIP), get_lbl_text_width(self.lblCollateral), get_lbl_text_width(self.lblCollateralTxHash), get_lbl_text_width(self.lblDMNTxHash), get_lbl_text_width(self.lblOwnerKey), get_lbl_text_width(self.lblOperatorKey), get_lbl_text_width(self.lblVotingKey)) return w
Example 4
Project: kite Author: pyrocko File: sources_dock.py License: GNU General Public License v3.0 | 6 votes |
def paint(self, painter, option, index): options = QtWidgets.QStyleOptionViewItem(option) self.initStyleOption(options, index) style = QtGui.QApplication.style() if options.widget is None\ else options.widget.style() doc = QtGui.QTextDocument() doc.setHtml(options.text) options.text = "" style.drawControl(QtGui.QStyle.CE_ItemViewItem, options, painter) ctx = QtGui.QAbstractTextDocumentLayout.PaintContext() textRect = style.subElementRect( QtGui.QStyle.SE_ItemViewItemText, options, options.widget) painter.save() painter.translate(textRect.topLeft()) painter.setClipRect(textRect.translated(-textRect.topLeft())) doc.documentLayout().draw(painter, ctx) painter.restore()
Example 5
Project: lanzou-gui Author: rachpt File: others.py License: MIT License | 6 votes |
def heightForWidth(self, width): margins = self.contentsMargins() if width >= margins.left() + margins.right(): document_width = width - margins.left() - margins.right() else: # If specified width can't even fit the margin, there's no space left for the document document_width = 0 # Cloning the whole document only to check its size at different width seems wasteful # but apparently it's the only and preferred way to do this in Qt >= 4. QTextDocument does not # provide any means to get height for specified width (as some QWidget subclasses do). # Neither does QTextEdit. In Qt3 Q3TextEdit had working implementation of heightForWidth() # but it was allegedly just a hack and was removed. # # The performance probably won't be a problem here because the application is meant to # work with a lot of small notes rather than few big ones. And there's usually only one # editor that needs to be dynamically resized - the one having focus. document = self.document().clone() document.setTextWidth(document_width) return margins.top() + document.size().height() + margins.bottom()
Example 6
Project: code2pdf Author: tushar-rishav File: code2pdf.py License: MIT License | 5 votes |
def init_print(self, linenos=True, style="default"): app = QApplication([]) # noqa doc = QTextDocument() doc.setHtml( self.highlight_file(linenos=linenos, style=style) ) printer = QPrinter() printer.setOutputFileName(self.pdf_file) printer.setOutputFormat(QPrinter.PdfFormat) page_size_dict = {"a2": QPrinter.A2, "a3": QPrinter.A3, "a4": QPrinter.A4, "letter": QPrinter.Letter} printer.setPageSize(page_size_dict.get(self.size.lower(), QPrinter.A4)) printer.setPageMargins(15, 15, 15, 15, QPrinter.Millimeter) doc.print_(printer) logging.info("PDF created at %s" % (self.pdf_file))
Example 7
Project: ANGRYsearch Author: DoTheEvo File: angrysearch.py License: GNU General Public License v2.0 | 5 votes |
def __init__(self, parent=None): super().__init__() self.doc = Qg.QTextDocument(self)
Example 8
Project: dcc Author: amimo File: sourcewindow.py License: Apache License 2.0 | 5 votes |
def reload_java_sources(self): """Reload completely the sources by asking Androguard to decompile it again. Useful when: - an element has been renamed to propagate the info - the current tab is changed because we do not know what user did since then, so we need to propagate previous changes as well """ log.debug("Getting sources for %s" % self.current_class) lines = [("COMMENTS", [( "COMMENT", "// filename:%s\n// digest:%s\n\n" % ( self.current_filename, self.current_digest))])] method_info_buff = "" for method in self.current_class.get_methods(): method_info_buff += "// " + str(method) + "\n" lines.append(("COMMENTS", [( "COMMENT", method_info_buff + "\n\n")])) lines.extend(self.current_class.get_source_ext()) # TODO: delete doc when tab is closed? not deleted by "self" :( if hasattr(self, "doc"): del self.doc self.doc = SourceDocument(parent=self, lines=lines) self.setDocument(self.doc) # No need to save hightlighter. highlighBlock will automatically be called # because we passed the QTextDocument to QSyntaxHighlighter constructor MyHighlighter(self.doc, lexer=JavaLexer())
Example 9
Project: qutebrowser Author: qutebrowser File: test_completiondelegate.py License: GNU General Public License v3.0 | 5 votes |
def test_highlight(pat, txt, segments): doc = QTextDocument(txt) highlighter = completiondelegate._Highlighter(doc, pat, Qt.red) highlighter.setFormat = mock.Mock() highlighter.highlightBlock(txt) highlighter.setFormat.assert_has_calls([ mock.call(s[0], s[1], mock.ANY) for s in segments ])
Example 10
Project: Lector Author: BasioMeusPuga File: widgets.py License: GNU General Public License v3.0 | 5 votes |
def generate_position(self, is_read=False): total_chapters = len(self.metadata['content']) current_chapter = 1 if is_read: current_chapter = total_chapters # Generate block count @ time of first read # Blocks are indexed from 0 up blocks_per_chapter = [] total_blocks = 0 if not self.are_we_doing_images_only: for i in self.metadata['content']: textDocument = QtGui.QTextDocument(None) textDocument.setHtml(i) block_count = textDocument.blockCount() blocks_per_chapter.append(block_count) total_blocks += block_count self.metadata['position'] = { 'current_chapter': current_chapter, 'total_chapters': total_chapters, 'blocks_per_chapter': blocks_per_chapter, 'total_blocks': total_blocks, 'is_read': is_read, 'current_block': 0, 'cursor_position': 0}
Example 11
Project: dash-masternode-tool Author: Bertrand256 File: transaction_dlg.py License: MIT License | 5 votes |
def setupUi(self): Ui_TransactionDlg.setupUi(self, self) self.setWindowTitle('Transaction') self.chb_word_wrap.setChecked(app_cache.get_value(CACHE_ITEM_DETAILS_WORD_WRAP, False, bool)) self.apply_word_wrap(self.chb_word_wrap.isChecked()) self.edt_recipients.viewport().setAutoFillBackground(False) if sys.platform == 'win32': self.base_font_size = '11' self.title_font_size = '15' elif sys.platform == 'linux': self.base_font_size = '11' self.title_font_size = '17' else: # mac self.base_font_size = '13' self.title_font_size = '20' self.edt_raw_transaction.setStyleSheet(f'font: {self.base_font_size}pt "Courier New";') doc = QTextDocument(self) doc.setDocumentMargin(0) doc.setHtml(f'<span style=" font-size:{self.title_font_size}pt;white-space:nowrap">AAAAAAAAAAAAAAAAAA') self.edt_recipients.setStyle(ProxyStyleNoFocusRect()) default_width = int(doc.size().width()) * 3 default_height = int(default_width / 2) app_cache.restore_window_size(self, default_width=default_width, default_height=default_height) self.prepare_tx_view()
Example 12
Project: kite Author: pyrocko File: sources_dock.py License: GNU General Public License v3.0 | 5 votes |
def sizeHint(self, option, index): options = QtWidgets.QStyleOptionViewItem(option) self.initStyleOption(options, index) doc = QtGui.QTextDocument() doc.setHtml(options.text) doc.setTextWidth(options.rect.width()) return QtCore.QSize(doc.idealWidth(), doc.size().height())
Example 13
Project: mhw_armor_edit Author: fre-sch File: suite.py License: The Unlicense | 5 votes |
def __init__(self, parent=None): super().__init__(parent) help_content = QTextDocument() help_content.setHtml(HELP_CONTENT) self.setOpenExternalLinks(True) self.setDocument(help_content)
Example 14
Project: orstools-qgis-plugin Author: GIScience File: ORStoolsDialog.py License: MIT License | 5 votes |
def _linetool_annotate_point(self, point, idx): annotation = QgsTextAnnotation() c = QTextDocument() html = "<strong>" + str(idx) + "</strong>" c.setHtml(html) annotation.setDocument(c) annotation.setFrameSize(QSizeF(27, 20)) annotation.setFrameOffsetFromReferencePoint(QPointF(5, 5)) annotation.setMapPosition(point) annotation.setMapPositionCrs(self.map_crs) return QgsMapCanvasAnnotationItem(annotation, self._iface.mapCanvas()).annotation()
Example 15
Project: lanzou-gui Author: rachpt File: others.py License: MIT License | 5 votes |
def __init__(self, parent=None): super(TableDelegate, self).__init__(parent) self.doc = QTextDocument(self)
Example 16
Project: MARA_Framework Author: xtiankisutsa File: sourcewindow.py License: GNU Lesser General Public License v3.0 | 5 votes |
def reload_java_sources(self): '''Reload completely the sources by asking Androguard to decompile it again. Useful when: - an element has been renamed to propagate the info - the current tab is changed because we do not know what user did since then, so we need to propagate previous changes as well ''' androconf.debug("Getting sources for %s" % self.current_class) lines = [] lines.append(("COMMENTS", [( "COMMENT", "// filename:%s\n// digest:%s\n\n" % ( self.current_filename, self.current_digest))])) method_info_buff = "" for method in self.current_class.get_methods(): method_info_buff += "// " + str(method) + "\n" lines.append(("COMMENTS", [( "COMMENT", method_info_buff + "\n\n")])) lines.extend(self.current_class.get_source_ext()) #TODO: delete doc when tab is closed? not deleted by "self" :( if hasattr(self, "doc"): del self.doc self.doc = SourceDocument(parent=self, lines=lines) self.setDocument(self.doc) #No need to save hightlighter. highlighBlock will automatically be called #because we passed the QTextDocument to QSyntaxHighlighter constructor if PYGMENTS: MyHighlighter(self.doc, lexer=JavaLexer()) else: androconf.debug("Pygments is not present !")
Example 17
Project: PyQt5 Author: andresnino File: visualizarImprimirExportar.py License: MIT License | 4 votes |
def initUI(self): self.documento = QTextDocument() # =================== WIDGETS QPUSHBUTTON ================== buttonBuscar = QPushButton("Buscar usuarios", self) buttonBuscar.setFixedSize(426, 26) buttonBuscar.move(20, 20) buttonLimpiar = QPushButton("Limpiar tabla", self) buttonLimpiar.setFixedSize(140, 26) buttonLimpiar.move(452, 20) # =================== WIDGET QTREEWIDGET =================== self.treeWidgetUsuarios = QTreeWidget(self) self.treeWidgetUsuarios.setFont(QFont(self.treeWidgetUsuarios.font().family(), 10, False)) self.treeWidgetUsuarios.setRootIsDecorated(False) self.treeWidgetUsuarios.setHeaderLabels(("D.N.I", "NOMBRE", "APELLIDO", "FECHA DE NACIMIENTO")) self.model = self.treeWidgetUsuarios.model() for indice, ancho in enumerate((110, 150, 150, 160), start=0): self.model.setHeaderData(indice, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole) self.treeWidgetUsuarios.setColumnWidth(indice, ancho) self.treeWidgetUsuarios.setAlternatingRowColors(True) self.treeWidgetUsuarios.setFixedSize(572, 300) self.treeWidgetUsuarios.move(20, 56) # =================== WIDGETS QPUSHBUTTON ================== buttonVistaPrevia = QPushButton("Vista previa", self) buttonVistaPrevia.setFixedSize(140, 26) buttonVistaPrevia.move(156, 364) buttonImprimir = QPushButton("Imprimir", self) buttonImprimir.setFixedSize(140, 26) buttonImprimir.move(304, 364) buttonExportarPDF = QPushButton("Exportar a PDF", self) buttonExportarPDF.setFixedSize(140, 26) buttonExportarPDF.move(452, 364) # =================== EVENTOS QPUSHBUTTON ================== buttonBuscar.clicked.connect(self.Buscar) buttonLimpiar.clicked.connect(self.limpiarTabla) buttonVistaPrevia.clicked.connect(self.vistaPrevia) buttonImprimir.clicked.connect(self.Imprimir) buttonExportarPDF.clicked.connect(self.exportarPDF) # ======================= FUNCIONES ============================