Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt QObject::将问题与QabstracteModel连接起来_Qt_Listview_Signals Slots_Qabstractitemmodel - Fatal编程技术网

Qt QObject::将问题与QabstracteModel连接起来

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

我有一个QListView,从中可以获得一个带有list->model()的QAbstractItemModel

在此之后,我想将dataChanged信号连接到我的自定义QObject:

 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 &)) );