1

QAbstractListModel から継承したクラスがあります。今、私はこのクラスの信号を作成したいと思います

BookListModel.h

signals:
    void currentIndexChanged(int i);

今、私はこれを以下の方法で使いたいと思っています

QVariant BookListModel::data(const QModelIndex &index, int role) const{

    int i=index.row();
    emit currentIndexChanged();
}

しかし、このエラーが発生しました:

エラー: C2662: 'void BookListModel::currentIndexChanged(int)': 'this' ポインターを 'const BookListModel' から 'BookListModel &' に変換できません

このクラスの現在のインデックス変更シグナルを作成するにはどうすればよいですか?

4

2 に答える 2

2

そのdata機能はconstです。あなたのsingal constも宣言するだけでうまくいくはずです:

signals:
    void currentIndexChanged(int i) const;

この回答を参照してください: const メソッドから Qt シグナルを発行することは可能ですか?

于 2018-04-17T13:52:28.913 に答える