Добавьте QObject в поле со списком Qt.
Вопрос
У меня есть собственный класс, который я создал, скажем, MyClass.Теперь, как добавить ссылку на ссылку 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*>();
Другие советы
Синтаксис ответа выше немного неверен,
используйте Q_DECLARE_METATYPE(MyClass*) в заголовочном файле MyClass, чтобы этот тип можно было использовать в QVariant.
добавьте элемент следующим образом:
this->ui->comboBox->addItem("item-1", QVariant::fromValue(myClass));
И верните его:this->ui->combobox->itemData(x).value();