2015-01-15 3 views
0

Qt 5.2.1을 사용 중입니다. 나는 thisthat을 읽었습니다. 제 경우는 다루지 않습니다. QSqlTableModel 및이를 사용하는 창이 있습니다.qt 슬롯 및 signalls 자동 연결

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

그래서 나는이처럼 내 windowClass 생성자에서 모델을 초기화 :

kontrahentModel = new QSqlTableModel(this); 

그리고 heres는 슬롯 선언 :

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

같은 수의 나는 그것의 dataChanged 신호에 반응 할 논쟁의 - 그러나 악명 높은 것 귀착된다

QMetaObject :: connectSlotsByName : (...)에 대한 일치하는 신호 없음

무엇을 놓쳤습니까? GUI 신호에서만 작동합니까?

답변

2

이 질문을 쓰는 동안 우발적으로 수정했습니다 ... 내 모델에 이름이 없습니다. 내가

kontrahentModel->setObjectName("kontrahentModel"); 

를 추가 할 때 모든 ... 마법처럼

근무하지만 - "가시 없이는 장미가 없습니다." 모델에 상위 항목을 할당하면 이전 문제가 반환됩니다. 여기에 설명되어 있습니다. QSqlQueryModel with a parent - app crash