QListWidget用法小结

QListWidget,QT列表控件,与QListView控件类似。

两者的本质区别是:QListWidget是基于Item,而QListView是基于Model的。

QListWidget是继承QListView,QListView是基于Model的,需要自己来建模(如建立QStringListModel,QSqlTableModel等),保存数据,这样就大大降低了数据冗余,提高了程序的效率,但是需要我们对数据建模有一定的了解,而QListWidget是一个升级版本的QListView,它已经为我们建立了一个数据存储模型QListWidgetItem,操作方便,直接调用addItem即可添加Item项(Icon,文字)。

在QListView中添加Item项需要借助QAbstractListModel,如:

    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中添加Item项可以直接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.addItem(Item);

  }

我们可以通过信号和槽的方式对列表控件的选项进行响应,如

connect(list,SIGNAL(currentTextChanged(QString)),this,SLOT(setText(QString)));

 

QListWidget常用API:

setIconSize(QSize(212,145)):设置单元项大小,

setMovement(QListView::Static):设置单元项不可拖动,(StaticFreeSnap

setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff):设置垂直滚动条显示方式(ScrollBarAsNeeded:按需显示,ScrollBarAlwaysOff:隐藏,ScrollBarAlwaysOn:常显)

 

QListWidgetItem常用API:

setSizeHint(QSize(209,144)):设置单元项的宽度和高度

setIcon(QIcon(imgPix.scaled(QSize(201,135),Qt::IgnoreAspectRatio,Qt::SmoothTransformation))):设置图像

其中,scaled为缩放图像方法,

FastTransformation:低分辨率的图片,SmoothTransformation:高分辨率的图片

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值