質問

それは、テーブルの項目をクリックされているときに私は、将来的にそのデータを使用するためには、テーブルに挿入された各QTableWidgetItemと追加データを関連付けます。しかし、そのデータが表示されないはずです。私はそれを行うことができますどのように?

役に立ちましたか?

解決

あなたは 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);

他のヒント

あなたはQTableItemから派生し、独自のデータメンバを提供し、またはあなた自身のモデルとQTableViewを使用することができます可能性があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top