gpt4 book ai didi

qt - QObject::connect 问题与 QAbstractItemModel

转载 作者:行者123 更新时间:2023-12-04 07:05:21 28 4
gpt4 key购买 nike

我有一个 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;

这是我的自定义对象:
 class CustomObject : public QObject
{
Q_OBJECT

public:
CustomObject (QObject *parent);
~CustomObject ();

public slots:
void onText(const QModelIndex & topLeft, const QModelIndex & bottomRight );

private:

};

我做错了什么吗? QObject 调用返回 true,我在 onText 函数中有一个 cout,但是在更改 QListView 时没有打印任何内容。

最佳答案

这可能意味着永远不会发出信号。试试打电话

模型->setData(模型->索引(0, 0), Qt::EditRole, 3.14);

如果那个没有调用你的槽,那么 setData() 的实现可能有问题并且不发出 dataChanged(QModelIndex,QModelIndex) , 否则 customObject_此后已被删除。

如果两者都不是,您需要向我们提供更多信息。

关于qt - QObject::connect 问题与 QAbstractItemModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1199936/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com