私は先週、行と列を指定してQModelIndexを作成するのに苦労しました。QModelIndexを作成する
また、既存のQModelIndexのrow()の値を変更することで解決します。
ご協力いただければ幸いです。
編集:そのクラス内
void MyClass::doStuff(QModelIndex index)
:
私が機能を持っている:手での目標は、これです
cannot call member function ‘QModelIndex QAbstractItemModel::createIndex(int, int, void*) const’ without object
QModelIndex nIndex = QAbstractItemModel::createIndex(1, 2);
^
:
QModelIndex nIndex = QAbstractItemModel::createIndex(1, 2);
int b = nIndex.row();
qInfo() << "b" << b;
はエラーで失敗します、私は本質的に
が
if (index.column() != 1)
{
int a=index.row();
}
だから私の目標は、別のクラスからその関数を呼び出すとQModelIndexそれを渡すことですが、そのインデックスは、行/列を使用して作成されたものとするために私が指定します。e。次。
私は本当の苦闘はQtに新しいから来ると思う。あなたが言ったことは、私が欲しいと思ったことだと思います。しかし、苦闘し続けている。私はいくつかの詳細を持って私の最初の投稿を更新しました。ありがとうございました! –
私の答えを変更しました。最初のリンクは間違っていました。あなたは 'QAbstractItemModel :: index'(保護されている' createIndex'ではなく)を使うことができます。もし新しいものであれば、静的ではありません。データを格納する有効な "データモデル"が必要で** **インデックスメソッドを呼び出す必要があります。私はどこかのモデルを持っていると思います。それ以外に 'QModelIndex'を得るのは何ですか? – xander
@ MetalWing私は答えに短い例を追加しましたが、あなたがモデルとして実際に使用しているものに依存します。 :) – xander