我有一个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
?