【2011.03.16】QListView和QListWidget
宁宁波吧
全部回复
仅看楼主
level 4
QListView是基于Model,而QListWidget是基于Item。这是它们的本质区别。
往QListView中添加条目需借助QAbstractListModel:
如:
     MainWindow::MainWindow(QWidget *parent) :
     QMainWindow(parent),
     ui(new Ui::MainWindow)
{
     ui->setupUi(this);
     QStringListModel* slm = new QStringListModel(this);
     QStringList* sl = new QStringList();
     sl->append("asdfsadfsa");
     sl->append("asdfsadfsa");
     sl->append("asdfsadfsa");
     slm->setStringList(*sl);
     ui->listView->setModel(slm);
     delete sl;
}
而在QListWidget中添加条目可以直接additem
如:
      QListWidget list;
   list.setViewMode(QListWidget::IconMode );
   list.setResizeMode(QListWidget::Adjust);
   list.setMovement(QListWidget::Static);
   for(int i =0; i < 100 ; i ++){
   QListWidgetItem *item = new QListWidgetItem(&list);
   QStyle::StandardPixmap sp = (QStyle::StandardPixmap)(i % 57);
   item->setData(Qt::DecorationRole, qApp->style()->standardPixmap(sp).scaled(QSize(16,16), Qt::KeepAspectRatio, Qt::SmoothTransformation) );
   item->setData(Qt::DisplayRole,QObject::tr("Item %1").arg(i));
   }
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/leaf6094189/archive/2010/08/11/5803763.aspx
2011年03月16日 10点03分 1
1