Ich möchte ein PNG mit einem Bild und etwas Text, der mit einem Drop-Cap beginnt. AFAIK, kann ich reichen Text mit QTextDocument::drawContents
, aber wie kann ich eine Drop-Cap umgeben von normalen Größe Text?Drop-Caps in Qt reichen Text
1
A
Antwort
1
Der obere Teil des Bildes ist ein unten QTextBrowser
und die untere ist eine transparente gerenderte QPixmap
auf einem QLabel
gelegt:
I nicht versucht haben, jede zu rendern weitere Bilder noch als meine Frage angegeben, aber es sollte nicht so schwer sein.
textDocument = QtGui.QTextDocument(self)
#self.t.setDocument(textDocument)
textDocument.setDefaultFont(QtGui.QFont("Times New Roman", 12))
textDocument.setDefaultStyleSheet(".firstcharacter {"
"float: left;"
"color: #903;"
"font-size: 72px;"
"font-family: Monotype Corsiva;"
"margin-top: -16px;"
"margin-bottom: -16px;"
"margin-right: 4px;"
"}")
textDocument.setHtml('<p>'
'<table class="firstcharacter"><tr><td>L</td></tr></table>'
'ipsum dolor sit amet, consectetur adipiscing elit. Mauris '
'tristique lobortis orci ac lacinia. Fusce eu purus eget '
'diam vehicula auctor nec eu elit. Morbi consequat facilisis '
'orci vel malesuada. Donec ultrices molestie sollicitudin. '
'Aliquam pharetra libero enim. Donec et suscipit massa. '
'Donec dui odio, dignissim non sodales et, tincidunt a sapien. '
'Phasellus elit nibh, adipiscing sed blandit vel, interdum et arcu.'
'</p>')
textDocument.setTextWidth(400)
img = QtGui.QImage(textDocument.size().toSize(),
QtGui.QImage.Format_ARGB32_Premultiplied)
img.fill(QtCore.Qt.transparent)
#img.fill(0xffffffff)
p = QtGui.QPainter(img)
p.translate(0, 0) #makes drop cap smoother
textDocument.drawContents(p)
p.end()
self.pic.setPixmap(QtGui.QPixmap.fromImage(img))
img.save(r"d:\testimg.png")
Referenzen:
Verwandte Themen
- 1. reichen einreichen
- 2. Qt: Text in Datei voranstellen
- 3. Verschwommen Qt Quick Text
- 4. reichen ohne Seite aktualisieren Probleme in jquery
- 5. Qt QPushbutton Icon über Text
- 6. Floating und Double-Typen reichen in Java
- 7. Qt: Modell/Ansicht Konzept mit Text-Browser
- 8. Rückgängig machen Operation mit NSUndoManager in reichen UITextView (iOS 6)
- 9. Qt umrissener Text ohne Ausdünnung font
- 10. CakePHP: Ajax generierte Textbox Wert reichen nicht
- 11. Qt: heightForWidth für Word-Wrap-Text
- 12. So reichen Sie mehrere Formulare in einem einzigen Senden ein
- 13. Zeichnen Sie Text auf Bild mit Qt
- 14. Mehrzeiliger zentrierter Text in SVG gerendert in Qt
- 15. Methodenverkettung - Wie viele verkettete Methoden reichen aus?
- 16. SQL reduziert dates „starten - Ende“ reichen
- 17. Wie Punkt Ansicht reich render (html) Text in Qt
- 18. Unterschiedlichen Text aus Kombinationsfeld in Qt Designer (pyqt) abrufen
- 19. Qt - mit QString :: arg, um Text in Spalten auszurichten
- 20. Qt: Wie ausgewählter Text in einem inaktiven Fenster angezeigt wird
- 21. HTML-Video-Steuerung mit reichen APIs
- 22. Ajax reichen für alle Formulare ein
- 23. Rails 4 Turbolinks machen Formular reichen mehrmals
- 24. JQuery Formular reichen nicht anrufen Erfolg
- 25. So reichen Sie mehrere Formulare mit Jquery AJAX ein
- 26. Get jQuery 2 Schieber Werte reichen bis AngularJS
- 27. Schreiben in Datei in Qt
- 28. Qt: Unbekannte Module in QT: webview
- 29. reichen Sie zwei Formulare mit einem Submit-Button ein jQuery
- 30. Wie Einstellungen in Qt
denke ich [diese] (https://github.com/ftena/qt-snippets/tree/master/richtext) ist nicht genau was du willst, aber vielleicht könnte es helfen. – Tarod
@Tarod danke, es war ein guter Ausgangspunkt – Winand