2

MyClass など、作成したカスタム クラスがあります。次に、以下のコンボ ボックスの 2 番目のパラメーターとして MyClass の参照への参照を追加する方法:

this->ui->comboBox->addItem("item-1", );

目的は、アイテムが変更されたときに発生することです。MyClass の特定のクラス インスタンスを取得し、それに応じて処理したいと考えています。

4

2 に答える 2

6

Q_DECLARE_METATYPE(MyClass*)タイプを で使用できるようにするには、まず を使用する必要がありますQVariant。次に、次のようにアイテムを追加できます。

this->ui->comboBox->addItem("item-1", QVariant::fromValue(myClass));

そしてそれを取り戻します:

this->ui->combobox->itemData(x).value<MyClass*>();
于 2009-10-19T06:27:30.867 に答える
1

上記の回答構文は少し間違っていますが、

QVariant でタイプを使用できるように、MyClass ヘッダー ファイルで Q_DECLARE_METATYPE(MyClass*) を使用します。

次のように項目を追加します。

this->ui->comboBox->addItem("item-1", QVariant::fromValue(myClass));

そしてそれを元に戻します: this->ui->combobox->itemData(x).value();

于 2013-08-01T17:34:27.133 に答える