首先,我们适应QtCreator创建一个widget/gui项目,设置都采用默认设置。
然后,打开界面文件,添加一个QListWidget控件,注意调整一下布局。
我们采用两种方法,第一种,在mainwindowcpp的构造函数中,创建QStringList,然后将之添加到ListWidget中。代码如图。
然后,我们运行下程序可以看到显示的效果了。
第二种方法,同样在mainwindowcpp中进行设置。在构造函数中,我们添加代码:
ui->listWidget->addItem(new QListWidgetItem(QString("1")));
ui->listWidget->addItem(new QListWidgetItem(QString("98")));
ui->listWidget->addItem(new QListWidgetItem(QString("88")));
ui->listWidget->addItem(new QListWidgetItem(QString("44")));
然后,我们将程序运行起来,可以看到添加后的运行效果。item有多种构造函数,可以实现多种显示效果,可以测试一下。
细心的朋友可能注意到,list条目是按加载顺序排的,我们如果加入代码sortitem函数,可以是实现排序的显示效果。
最终使得list的效果如下。
热门频道
首页
博客
研修院
VIP
APP
问答
下载
社区
推荐频道
活动
招聘
专题
打开CSDN APP
Copyright © 1999-2020, CSDNNET, All Rights Reserved
打开APP
C/C++ Qt ListWidget 列表框组件应用 原创
2022-11-03 20:01:34
十年编程老舅
码龄143天
关注
ListWidget列表框组件,该组件与TreeWidget有些相似,区别在于TreeWidget可以实现嵌套以及多字段结构,而ListWidget组件则只能实现单字段结构,ListWidget组件常用于显示单条记录,例如只显示IP地址,用户名等数据,如下笔记是本人在开发中经常用到的一些基本 *** 作技巧,包括列表框组件的基本 *** 作方法。
常用节点间的 *** 作方法如下:
ListView 组件与应用基础
ListWidget 初始化
ListWidget 变化行(触发事件)
ListWidget 编辑状态设置
ListWidget 全选/全不选
ListWidget 反选(对错交织)
ListWidget 指定位置插入 / 增加一项
ListWidget 删除选中项
ListView 组件与应用基础: 该组件与ListWidget功能一致,只是ListView无法实现编辑只能预览。
QT技术文推荐:Qt开发必备技术栈学习路线和资料
代码运行效果如下:
上方代码中我们多数都是在使用View视图组件,接下来将具体分析Widget组件的使用细节,View组件与Widget组件看似一致,但却存在本质区别,其大致区别如下:
Widget 组件可以直接通过如AddItem等一系列函数 *** 作特定数据集,该组件还具有直接编辑的能力。
View 组件是基于Model模型映射工作的,每次 *** 作数据时都需要借助QAbstractListModel数据模型来 *** 作。
简单来说View组件适合于浏览展示数据较多的场景,因为其绑定了链表结构从而在数据的展示上更为灵活,而Widget组件更适合于更新或修改数据较多的使用场景。
ListWidget 节点初始化: 节点的初始化就是向widget组件内插入一个QListWidgetItem类。
代码运行效果如下:
ListWidget 行内文本变化: 当我们点击行内任意一个列表选项时,我们让其触发currentItemChanged并将变化行更新到窗体上。
代码运行效果如下:
ListWidget 编辑状态设置: 默认情况下ListWidget组件内所有文件是不可编辑的,我们也可以将编辑属性打开。
代码运行效果如下:
QT技术文推荐:Qt开发必备技术栈学习路线和资料
ListWidget 全选/全不选: 全选顾名思义就是选中菜单中的所有数据,使用aItem->setCheckState(Qt::Checked)实现选中,通过循环计数即可。
代码运行效果如下:
ListWidget 反选功能: 反选的含义是,用户选中菜单反选后会变为未选中状态,未选中则变为选中,只需要增加一个判断即可实现。
代码运行效果如下:
ListWidget 指定位置插入/追加插入: 在选中行的上方插入一行新的表项,以及追加到末尾一行。
代码运行效果如下:
ListWidget 删除选中项: 删除当前选中的一项,并清理释放内存。
代码运行效果如下:
文章知识点与官方知识档案匹配
C技能树首页概览
115836 人正在系统学习中
打开CSDN APP,看更多技术内容
listview listwidget
qt
c++
写评论
评论
收藏
点赞
踩
分享
Qlistwidget 滚动条问题
修改该目录下makefile文档。
添加如下内容:obj-$(CONFIG_MTD_flashtest) += flashtesto
这样,当您运行make menucofnig时,您将发现ap71 flash选项,假如您选择了此项。该选择就会保存在config文档中。当您编译内核时,将会读取config文档,当发现ap71 flash 选项为yes 时,系统在调用/driver/mtd/maps/下的makefile 时,将会把 flashtesto 加入到内核中。即可达到您的目的。
建议用Model和View
用QSqlQuery直接 *** 作数据库,执行数据库语句,将你QTableWidget中的数据替换到语句中对应的字段
例如:
QString(“%1,%2”)arg("wang",“25”)
可以实现你需要的功能
listWidgetsetSelectionMode(QtGuiQAbstractItemViewExtendedSelection) #设置选择模式
QList<QListWidgetItem> selItemList = listWidgetselectedItems() //返回一个包含选中了的item对象 的list 对象
鼠标点击时,会发出itemClicked()信号。信号的参数是ListWidgetItem ,用此指针和数据源的每一项逐个比较,就是到行号了。(不过单纯知道ListWidget行号没有意义,因为画面排序后行号会变化)
以上就是关于如何使用QListWidget全部的内容,包括:如何使用QListWidget、怎么将listwidget作为treewidget的项、Qlistwidget 滚动条问题.求助等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)