MyClass など、作成したカスタム クラスがあります。次に、以下のコンボ ボックスの 2 番目のパラメーターとして MyClass の参照への参照を追加する方法:
this->ui->comboBox->addItem("item-1", );
目的は、アイテムが変更されたときに発生することです。MyClass の特定のクラス インスタンスを取得し、それに応じて処理したいと考えています。
Q_DECLARE_METATYPE(MyClass*)
タイプを で使用できるようにするには、まず を使用する必要がありますQVariant
。次に、次のようにアイテムを追加できます。
this->ui->comboBox->addItem("item-1", QVariant::fromValue(myClass));
そしてそれを取り戻します:
this->ui->combobox->itemData(x).value<MyClass*>();
上記の回答構文は少し間違っていますが、
QVariant でタイプを使用できるように、MyClass ヘッダー ファイルで Q_DECLARE_METATYPE(MyClass*) を使用します。
次のように項目を追加します。
this->ui->comboBox->addItem("item-1", QVariant::fromValue(myClass));
そしてそれを元に戻します: this->ui->combobox->itemData(x).value();