Exemplo n.º 1
0
def cellSize(self, leafIndex, hv, styleOptions):
    res = QSize()
    variant = leafIndex.data(Qt.SizeHintRole)
    if variant:
        res = variant
    fnt = QFont(hv.font())
    var = leafIndex.data(Qt.FontRole)
    if var:
        fnt = var
    fnt.setBold(True)
    fm = QFontMetrics(fnt)
    size = QSize(fm.size(0, leafIndex.data(Qt.DisplayRole))+QSize(4, 0)) #WA: add more horizontal size (4px)
    if leafIndex.data(Qt.UserRole):
        size.transpose()
    decorationsSize = QSize(hv.style().sizeFromContents(QStyle.CT_HeaderSection, styleOptions, QSize(), hv))
    emptyTextSize = QSize(fm.size(0, ""))
    return res.expandedTo(size+decorationsSize-emptyTextSize)