هل هناك طريقة لعرض الرموز في QListView بدون نص؟
سؤال
باستخدام 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 للتخلص من تلك المساحة الفارغة
لا تنتمي إلى StackOverflow