QObjectを:: QAbstractItemModelの問題を接続します
-
20-09-2019 - |
質問
私は)私は(リスト - >モデルとQAbstractItemModelを得、そこからQListViewを有する;
この後、私は私のカスタムQObjectをするdataChanged信号を接続したいです
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の呼び出しは、私がonText機能でCOUTを持って、trueを返しますが、QListViewが変更されたときには何も今までに印刷されません。
解決
それはおそらく信号が放出されないことを意味します。呼び出し試してみてください。
モデル - >のsetData(モデル - >インデックス(0、0)、Qtの:: EditRole、3.14);
1つはあなたのスロットを起動しない場合は、は、その後、setData()
の実装は、おそらくバグがあるとdataChanged(QModelIndex,QModelIndex)
を放出しない、または他のcustomObject_
が以来削除されています。
、あなたは私たちに多くの情報を与える必要があります。
他のヒント
多分&あなたの関数であり..
が、それが問題だった場合、それはあなたの関数でエラーが表示されます...
<時間>おそらくこの信号はemmitedされていません。別の信号を接続してみます..あなたはそのようにそれをテストすることができます..
あなたがしようとしました。
QObject::connect(model, SIGNAL(dataChanged (const QModelIndex &, const QModelIndex &) ),
customObject_,SLOT(onText(const QModelIndex &, const QModelIndex &)) );
?別名パラメータが参照渡しされていることを確認してください。 このチュートリアルを確認してください。
所属していません StackOverflow