【QT基础教程 十三】QListView类解析

本文介绍了Qt中的QListView组件,它用于显示数据项的列表视图。内容包括QListView的初始化、模型绑定、内容添加、行隐藏、行间距设置、选中行获取、模型位置返回以及行删除等操作。此外,文章还对比了QListView与QListWidget的区别,强调QListView允许用户自定义模型的灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概要:本期主要讲解Qt中的QListView的使用

一、简介

头文件:#include<QListView>
模块:QT += widgets
父类:QAbstractItemView
功能:Qt中的QListView可以将数据项显示在列表视图中。

二、功能接口

1.初始化
//1.代码创建QListView对象
QListView *listView = new QListView;
//2.通过UI设计师界面来创建,如下图所示

在这里插入图片描述

2.绑定模型
//Qt提供的列表文本模型
QStringListModel *model = new QStringListModel(this);
listView->setModel(model);
//用户自定义模型
MyListModel *model = new MyListModel(this);//自定义模型可以继承QStandardItemModel
listView->setModel(model);
3.添加内容显示

视图是模型的界面显示,所以在视图显示内容,需要让模型拿到数据。

QStringList list = {"aaa","bbb","ccc"};
model->setStringList(list);//只要已经将模型和视图绑定,那么模型中的数据就可以在视图中显示
4.隐藏行
listView->setRowHidden(1,true);//隐藏第一行
5.设置数据间距(行高)
listView->setSpacing(2);//设置行与行之间两个空格的间距
6.获取选中行
//继承自QAbstractItemModel类方法
QStringListModel *model = listView->selectionModel();
7.返回当前模型位置
//继承自QAbstractItemModel类方法
QModelIndex index = listView->currentIndex();
8.刪除行

删除模型中的数据

model->removeRow(1);//删除第一行

结尾

本期对于QListView的学习就到这,最后再提一下QListView与QListWidget的之间的区别:QListWidget类中Qt已经帮你绑定好模型,你只能基于这个固有模型进行开发设计。而QListView类则只是纯粹的视图,用户可以自定义模型,用于存储和显示更复杂的关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

葛狂的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值