0

我正在使用 Qt 5.2.1。我读了这个那个- 它不包括我的情况。我有 QSqlTableModel 和一个使用它的窗口。我想对它的dataChanged信号做出反应:

void QAbstractItemModel::​dataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight, const QVector<int> & roles = QVector<int> ())

所以我在我的 windowClass 构造函数中初始化模型,如下所示:

kontrahentModel = new QSqlTableModel(this);

这是插槽声明:

void on_kontrahentModel_dataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight, const QVector<int> & roles = QVector<int> ());

相同数量的论点 - 但它导致臭名昭著

QMetaObject::connectSlotsByName: (...) 没有匹配的信号

我错过了什么?它仅适用于 GUI 信号吗?

4

1 回答 1

2

我在写这个问题时不小心把它修好了……我的模型缺少名字。当我添加

kontrahentModel->setObjectName("kontrahentModel");

一切都像一个魅力......

但是 - “没有刺就没有玫瑰”。为模型分配父级时,返回一个老问题 - 此处描述:QSqlQueryModel with a parent - app crash

于 2015-01-15T20:49:41.643 回答