开发者社区> 问答> 正文

TableModel/view设置行高随字号大小变化怎么设置?

控件是tableView,设置单元格行高为字号+6的大小,之前是用for循环来设置的,但是因为model的数据量很大,所以程序很卡,然后后来在Model的Data里设置的,但是并不执行到case: Qt::SizeHintRole里面去,求大神该怎么做,上述方法为什么不起作用
QVariant TableModel::data(const QModelIndex & index,int role) const
{

    switch(role)
    {
        case Qt::SizeHintRole:
            return QVariant(QSize(75,fontSize+6));
    }
    return QVariant();
}

展开
收起
a123456678 2016-03-05 14:40:31 2108 0
1 条回答
写回答
取消 提交回答
  • 卡的原因应该是view每加载一行就回去计算一次行高。两种办法:一种是用延迟加载技术,具体看下manual;另一种是用setUniformRowHeights,然后设置第一行的高度。

    2019-07-17 18:53:28
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载