1

識別子と対応するオブジェクトを含むQMapを取得しました。QAbstractTableModel :: data()をサブクラス化すると、それぞれ行と列を持つQModelIndexが得られます。各行は1つのオブジェクトを表す必要があります(QAbstractTableModel :: rowCount()はmyMap-> size()です)。

経由で現在のオブジェクトを取得することは合法ですか

myMap->values().at(index.row())

(ソートされていない)マップの識別子がバイパスされるため、この影響(ソート、挿入)はありますか?つまり、QAbstractTableModel :: setData()の場合、同じマップ識別子をバイパスする必要がありますか?!ありがとう。

4

3 に答える 3

0

「識別子」と言うときは、keyを意味すると思います。 「対応するオブジェクト」はvalueです。QMapキーでソートされた定義によるものです。

QMapキーと値の機能を使用するつもりがない場合は、値をQListコンテナーに格納し、提案した行インデックスに基づいて値にアクセスすることを検討する必要があります。

于 2014-07-17T14:50:33.957 に答える
-1

QMap::valuesキーの昇順ですべての値を返すため、おそらくコードは機能します。それでも、次のようなものを使用します。

myMap[this->index(index.row(), 0).data().toString()]

QAbstractTableModel から呼び出す場合、キーは 0 列目にあります。

于 2013-03-15T08:41:29.777 に答える