No such signal QObject::dataChanged(QModelIndex,QModelIndex,QVector<int>) in itemviews

这个错误 No such signal QObject::dataChanged(QModelIndex,QModelIndex,QVector) 通常出现在使用 QDataWidgetMapper 进行数据映射,并且模型相关信号使用不正确的场景下 。下面分析可能的原因及对应的解决办法:

原因分析

  1. 模型不支持该信号QDataWidgetMapper 依赖模型发出 dataChanged 信号来更新与之关联的窗口部件。如果使用的模型(比如自定义模型)没有正确实现或者发出的 dataChanged 信号签名与 QDataWidgetMapper 期望的不一致(正确签名为 void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector &roles = QVector()) ),就会出现这个错误。
  2. 模型设置问题:在将模型与 QDataWidgetMapper 关联之前,模型可能没有正确初始化或配置,导致信号发射异常。

你可能感兴趣的:(图形界面QT,java,数据库,前端)