QTableView / QAbstractTableModel发出dataChanged()?在哪里连接

时间:2016-10-15 21:13:43

标签: c++ qt

我有一个QTableView,我将其模型设置为继承自QAbstractTableModel的类。我已经实现了适当的rowCount()所需的正确columnCount()data()TableModel虚拟方法。

所以我的问题是这个。当模型中的数据发生变化时,我如何告诉QTableView更新自己?

我查看文档发现我应该发出信号dataChanged() ...但是我没看到表视图上的哪个插槽我应该将其连接到。我甚至看不到tableview上有一个具有相同参数的插槽..

以下是我在以下位置更改数据的方法:

void signalTapSignalAggregator::updateFinished(){
     QModelIndex topLeft = index(0, 0);
     QModelIndex bottomRight = index(numberOfRow, listOfSignals.size());
     beginResetModel();
     //emit  layoutAboutToBeChanged();
     emit layoutChanged();
     emit dataChanged(topLeft,bottomRight);
}

现在我发出layoutChanged()之后,似乎tableview更新了所需的列数,但其中没有数据。

我已经在模型的data()方法上设置了一个断点,希望我会看到QTableView尝试读取新数据但是在我调用dataChanged()之后它永远不会触发/ p>

那么如何将dataChanged()信号连接到QTableView

0 个答案:

没有答案