首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QAbstractTableModel奇怪的rowCount

QAbstractTableModel奇怪的rowCount
EN

Stack Overflow用户
提问于 2015-04-20 13:58:37
回答 2查看 1.3K关注 0票数 0

我有一个abstractTable模型,它有一个非常奇怪的问题。

rowCount方法;

代码语言:javascript
复制
int ordersModel::rowCount(const QModelIndex &) const
{
    int i = oData->count();
    qDebug() << "rowc=" << i;

    return 711;
  //  return   oData->count();

}

当我硬编码值(711或更低的值)时有效,但如果我使用return i;或return oData->count();表不显示任何内容。(qDebug()报告数据有711个条目。

标题显示正确。我使用的是Qt 5.4.1,Windows 7。

难住了!

EN

回答 2

Stack Overflow用户

发布于 2017-06-06 20:07:43

试一试

代码语言:javascript
复制
int MyModel::rowCount(const QModelIndex &parent) const {

  if ( parent.isValid() )
      return 0;

  return m_entryList.size();
}
票数 1
EN

Stack Overflow用户

发布于 2017-06-06 21:50:35

您的问题可能与rowCount方法本身无关,尽管该方法也不正确-请参阅the other answer。模型实现的其他方面可能不会履行每个模型都必须履行的基本契约。

将发生以下一系列事件:

  1. 您的模型开始时没有元素。
  2. 将视图附加到模型。视图期望模型满足QAbstractItemModel.
  3. You向模型添加数据的要求。该模型无法发出rowsInserted信号-它不调用beginInsertRowsendInsertRows。它已经破坏了它的contract.
  4. You've,现在在视图中触发了未定义的行为,事情不工作了。

有关模型语义,请参阅the first section of this answer,并确保您理解它并遵循要求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29740237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档