问题描述
- 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(); }
解决方案
卡的原因应该是view每加载一行就回去计算一次行高。两种办法:一种是用延迟加载技术,具体看下manual;另一种是用setUniformRowHeights,然后设置第一行的高度。
时间: 2025-01-20 12:42:28