【发布时间】:2014-09-24 07:44:45
【问题描述】:
我有基于 QAbstractTableModel 的 QTableView。 在 QAbstractTableModel 中重新实现了方法 headerData() 以根据模型设置列名和宽度。但是
switch( role )
{
...
case Qt::SizeHintRole : return QSize( 500, 0 );
...
}
没有效果。表中的所有列都具有相同的宽度()。我应该怎么做才能正确设置初始列宽。
P.S.:在this 问题中建议使用委托来解决相同的问题,但我认为应该使用 headerData()。
【问题讨论】:
-
我只能更改标题高度。
-
尝试双击标题中的部分处理程序(部分之间的空间)。在这种情况下,它看起来应该调整为尺寸提示宽度
-
@vahancho - 我也一样
-
@Ezee - 是的,它就像你说的那样工作。但是初始状态呢?可能需要对视图做一些事情,从 SizeHintRole 应用宽度?
-
我认为这是水平尺寸提示的唯一用法。但是您可以从
QTableView继承并应用setModel中模型的大小。
标签: qt