Qt QObject::将问题与QabstracteModel连接起来
我有一个QListView,从中可以获得一个带有list->model()的QAbstractItemModel 在此之后,我想将dataChanged信号连接到我的自定义QObject:Qt QObject::将问题与QabstracteModel连接起来,qt,listview,signals-slots,qabstractitemmodel,Qt,Listview,Signals Slots,Qabstractitemmodel,我有一个QListView,从中可以获得一个带有list->model()的QAbstractItemModel 在此之后,我想将dataChanged信号连接到我的自定义QObject: if( QObject::connect(model, SIGNAL(dataChanged (const QModelIndex , const QModelIndex ) ), customObject_,SLOT(onText(const QModelI
if( QObject::connect(model, SIGNAL(dataChanged (const QModelIndex , const QModelIndex ) ),
customObject_,SLOT(onText(const QModelIndex , const QModelIndex )) ) )
cout << "SIGNAL SLOT connection successful" << endl;
else
cout << "SIGNAL SLOT connection ERROR" << endl;
我做错什么了吗?QObject调用返回true,我在onText函数中有一个cout,但是当QListView更改时,不会打印任何内容 你有没有试过
QObject::connect(model, SIGNAL(dataChanged (const QModelIndex &, const QModelIndex &) ),
customObject_,SLOT(onText(const QModelIndex &, const QModelIndex &)) );
??请确保参数是通过引用传递的。
检查。在您的函数中可能有& 但如果是问题,它应该显示一个错误,由您的功能
可能这个信号没有发出。尝试连接另一个信号。。您可以这样测试。这可能意味着信号从未发出过。试着打电话 model->setData(model->index(0,0),Qt::EditRole,3.14) 如果该函数没有调用您的插槽,那么
setData()
的实现可能有缺陷,并且不会发出dataChanged(QModelIndex,QModelIndex)
,或者customObject\uuu
已被删除
如果两者都不是,您需要向我们提供更多信息。OP提到的
QObject::connect()
返回true
。setData没有调用我的插槽,并且customObject没有被删除,我将尝试其他插槽。谢谢。有什么建议吗?
QObject::connect(model, SIGNAL(dataChanged (const QModelIndex &, const QModelIndex &) ),
customObject_,SLOT(onText(const QModelIndex &, const QModelIndex &)) );