سؤال

لدي فصل مخصص قمت بإنشائه ، كما يقول MyClass. الآن كيفية إضافة إشارة إلى مرجع MyClass كمعلمة ثانية في مربع التحرير والسرد أدناه:

هذا-> 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.

أضف العنصر مثل هذا:

هذا-> ui-> combobox-> addItem ("item-1" ، QVariant :: fromValue (myClass)) ؛

واستعادته: هذا-> ui-> combobox-> itemData (x) .value () ؛

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top