هل هناك طريقة لعرض الرموز في QListView بدون نص؟

StackOverflow https://stackoverflow.com/questions/2597534

  •  25-09-2019
  •  | 
  •  

سؤال

باستخدام QListView ، و QStandArdItemModel ، هل من الممكن عرض الرموز في عرض القائمة دون عرض النص المرتبط به؟ يتم تعريف QStandardItem على النحو التالي:

QStandardItem ( const QIcon & icon, const QString & text ) 

لذلك يبدو أنه يتطلب سلسلة نصية من نوع ما - أريد فقط عرض الرمز. إذا استخدمت الرمز التالي ، أحصل على الرموز كما هو مطلوب ، لكنني أيضًا أحصل على عنصر نص فارغ تحته. لا أريد هذا.

ImageListView->setViewMode( QListView::IconMode );
{
     QStandardItemModel *iStandardModel = new QStandardItemModel(this);
     QStandardItem* item1 = new QStandardItem(QIcon("images/shield-280x280.png"),"");
     QStandardItem* item2 = new QStandardItem(QIcon("images/shield-280x280.png"),"");

     iStandardModel->appendRow(item1);
     iStandardModel->appendRow(item2);
     ImageListView->setIconSize(QSize(100,100));
     ImageListView->setUniformItemSizes(true);
     ImageListView->setDragDropMode(QAbstractItemView::DropOnly);
     ImageListView->setModel(iStandardModel);
}

إذا واجهت مشكلة بناء نموذج مخصص ، فهل يمكنني حل هذه المشكلة؟

هل كانت مفيدة؟

المحلول

نعم ، يمكنك القيام بذلك.

أولاً تقوم بإنشاء مندوب مرتبط بـ List-View.then ،

أثناء إدخال العناصر في ListView ، استخدم وظيفة set-data لإدراج الرمز وفي حدث الطلاء من تفويض تعامل مع أيقونة الرسم. أتمنى أن يكون واضحا.

نصائح أخرى

كيف تظهر أيقونات بدون نص في QListWidget؟

من المنشور أعلاه ، يمكنك استخدام NULL للتخلص من تلك المساحة الفارغة

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