Qtの - どのようにQTableWidgetItemを関連付けるデータへ?
-
24-09-2019 - |
質問
それは、テーブルの項目をクリックされているときに
私は、将来的にそのデータを使用するためには、テーブルに挿入された各QTableWidgetItemと追加データを関連付けます。しかし、そのデータが表示されないはずです。私はそれを行うことができますどのように?
解決
あなたは QTableWidgetItem::setData()
のようにのように使用することができます
setData(Qt::UserRole, myData); // set
myData
がサポート QVariant のタイプです。あなたが保存している値を取得するためにQTableWidgetItem::data()
を使用することができます。
あなたが複数のが必要な場合は、Qt::UserRole
+ 1、+ 2を使用することができ、そのために(Qt::UserRole
は、「アプリケーション固有の目的に使用することができる最初の役割。」で、あなたは他の種類の詳細について読むことができます役割ここを)。
あなたは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);
他のヒント
あなたはQTableItemから派生し、独自のデータメンバを提供し、またはあなた自身のモデルとQTableViewを使用することができます可能性があります。
所属していません StackOverflow