我目前正在致力于一个定制的QAbstractItemModel
我遇到了一个问题。该模型本身工作良好,但我有问题,如果我试图用QTreeView显示它。QTreeView更新列号
模型本身能够根据其数据自行更改其列号。但是这个视图永远不会更新显示的列数,只会更新其内容。 我没有超载insertColumns
:
bool MyModel::insertColumns(int column, int count, const QModelIndex &parent)
{
bool success;
beginInsertColumns(parent, column, column + count - 1);
success = this->getItem(parent)->insertColumns(column, count);
endInsertColumns();
return success;
}
我尝试一点点,结果发现,如果我重置,每次设置视图,它会显示的列权数:
connect(this->model, SIGNAL(columnsChanged()), this->ui->treeView, SLOT(reset()));
但必须有另一种方式来做到这一点。我正在寻找一个函数,它只会告诉视图列数发生了变化。但我发现的唯一一个(QTreeView::columnCountChanged(int oldCount, int newCount)
)受到保护...
可能有一个更容易的方法来模型。你在视图中寻找什么结果? – DaveyLaser 2014-09-24 00:00:06
好吧,我现在想要的只是在增加了coumns的数量之后,它应该显示这个新的数字,所以基本上在视图中添加一个。 – Felix 2014-09-24 16:12:18