首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt富文本中的下拉列表

Qt富文本中的下拉列表
EN

Stack Overflow用户
提问于 2016-04-19 05:29:13
回答 1查看 121关注 0票数 1

我想渲染一个PNG的图像和一些文字,这是从一个滴帽开始。AFAIK,我可以使用QTextDocument::drawContents渲染富文本,但是我如何添加一个由常规大小文本包围的下拉帽呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-19 13:42:07

下面图像的上部是QTextBrowser,下面的部分是放置在QLabel上的呈现透明的QPixmap

正如我的问题所述,我还没有尝试渲染任何额外的图片,但这不应该那么困难。

代码语言:javascript
复制
    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")

参考文献:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36709329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档