首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在QItemDelegate子类上实现sizeHint

在QItemDelegate子类上实现sizeHint
EN

Stack Overflow用户
提问于 2011-12-06 08:21:19
回答 1查看 1.5K关注 0票数 1

我正在尝试创建一个表,其中每个项目都包含一对行,如下所示:

理想情况下,顶行的字体应该是不同的(而不仅仅是加粗)。

我的解决方案是子类化QItemDelegate并重载paintsizeHint.上图显示paint工作正常,但我还没能弄清楚sizeHint。下面是我尝试过的(现在只使用单行的元素):

代码语言:javascript
复制
def sizeHint(self, option, index):
    index_data = index.data(Qt.SizeHintRole)
    if index_data is None:
        return QSize()
    size = QItemDelegate.textRectangle(None,
                                       textLayoutBounds(option),
                                       option.font, str(index_data))
    return size

不幸的是,使用PyQt时,无法访问受保护的成员函数textRectangle (由默认sizeHint调用)。这样做的正确方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-07 09:08:28

我对你的问题没有一个完整的解决方案。但是,为了计算文本矩形,您可以看看QFontMetrics.boundingRect。另外,您可能对this answer中给出的富文本项委托感兴趣。

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

https://stackoverflow.com/questions/8393793

复制
相关文章

相似问题

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