将来、テーブルアイテムをクリックするときにそのデータを使用するために、テーブルに挿入された各QTableWidgetItemに追加のデータを関連付けたいと思います。しかし、そのデータは表示されるべきではありません。どうやってやるの?
23970 次
2 に答える
21
あなたはQTableWidgetItem::setData()
そのように使うことができます:
setData(Qt::UserRole, myData); // set
myData
サポートされているQVariantタイプはどこにありますか。QTableWidgetItem::data()
保存した値を取得するために使用できます。
Qt::UserRole
+ 1、+ 2などを使用できる複数の役割が必要な場合( Qt::UserRole
「アプリケーション固有の目的に使用できる最初の役割」です。他の種類の役割について詳しくは、こちらをご覧ください)。
QVariantでネイティブにサポートされていないカスタムタイプを保存している場合は、タイプをQtメタオブジェクトシステムに登録する必要があります。詳細については、QMetaTypeを参照してください。
整数を格納したい場合、例えば:
QTableWidgetItem* widgetItem = tableWidget->item(row, col); // get the item at row, col
int myInteger = 42;
widgetItem->setData(Qt::UserRole, myInteger);
// ...
myInteger = widgetItem->data(Qt::UserRole);
于 2010-04-05T16:48:47.613 に答える
6
QTableItemから派生して独自のデータメンバーを提供することも、独自のモデルでQTableViewを使用することもできます。
于 2010-04-05T16:49:35.100 に答える