【问题标题】:Sorting a model has no immediate effect对模型进行排序不会立即产生影响
【发布时间】:2013-05-09 09:42:29
【问题描述】:

我在 QAbstractTableModel 子类中实现了 sort。排序本身有效,但视图不会改变,直到我将鼠标悬停在表格本身(即不是标题)上。我怎样才能解决这个问题?起初我以为我也必须发出信号,但找不到合适的信号。

【问题讨论】:

    标签: qt signals-slots


    【解决方案1】:

    我使用以下代码对项目中的模型进行排序:

    void MyModel::organize()
    {
        if (!cache_ || cache_->empty()) return;
        beginResetModel(); // (a)
        std::stable_sort(cache_->begin(), cache_->end(), compareRow);
        endResetModel(); // (b)
    } // end:(MyModel::organize)
    

    (a) 行告诉模型我要重新组织数据,(b) 行告诉模型我已经完成,请刷新相关视图。

    您也可以发出dataChanged(index, index); 信号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-13
      • 2021-08-10
      • 2020-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多