QListWidget用法小结

原创 2015年11月21日 13:53:55

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:高分辨率的图片

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

Qt学习——QListWidget控件的使用

总结了一下QListWidget控件的用法
  • GDUTLYP
  • GDUTLYP
  • 2015年12月21日 10:50
  • 10819

QListWidget用法

setSelectionMode()设置list一次最多可以选择多少item有两种方法来listwidget中添加Item,一种是在item构造时候,指定父widget,如果item构造时候QList...
  • xie376450483
  • xie376450483
  • 2010年08月21日 16:53
  • 23716

Qt QListWidget和QStackedWidget用法

  • 2011年09月20日 12:18
  • 2.53MB
  • 下载

Qt每日小结——QListWidget使用总结

最近需要使用QListWidget完成一个样本输入显示及交互的功能 需要实现的功能基本是这样的: 点击添加样本 将txt文件名输入到左侧的列表中 单击、shift/ctrl多选item后点击移除样本...
  • high_cool
  • high_cool
  • 2016年11月01日 09:32
  • 2827

QListWidget与QTableWidget的使用以及样式设置

//一、QListWidgetlist_widget = new QListWidget();//list_widget->resize(200,300); list_widget->setFixed...
  • u011125673
  • u011125673
  • 2016年06月24日 16:46
  • 14485

QListWidget和QListWidgetItem的简单使用

QListWidget可以显示一个清单,清单中的每个项目是QListWidgetItem的一个实例,每个项目可以通过QListWidgetItem来操作。可以通过QListWidgetItem来设置每...
  • fjb2080
  • fjb2080
  • 2009年12月02日 10:32
  • 46959

改变QlistWidget的行高

void test2::InitListWideget() { m_pList = new rootDataList(this); m_pList->setGeometry(LIST_X, L...
  • sundan308
  • sundan308
  • 2013年03月31日 15:33
  • 4412

Qt中在槽函数中获取QListWidget中的各个部件

QWidget* pwig = NULL;     QPushButton* pbtn = NULL;     QListWidgetItem* pwidgetItem = NULL;     ...
  • q5512049
  • q5512049
  • 2015年08月03日 11:31
  • 1434

qt的ListView中设置setIndexWidget

QStandardItemModel *model = new QStandardItemModel(ui->listView); ui->listView->setModel(model);...
  • lwei3600103
  • lwei3600103
  • 2014年12月23日 23:07
  • 2987

QListWidget添加自定义QWidget

QListWidgetItem* pListWidgetItem1 = new QListWidgetItem; QListWidgetItem* pListWidgetItem2 = ne...
  • u011430225
  • u011430225
  • 2016年08月21日 16:32
  • 1642
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QListWidget用法小结
举报原因:
原因补充:

(最多只允许输入30个字)