Qt QListView详解
一.常用接口
1.添加数据
QStringListModel *model; model = new QStringListModel(this);model->setStringList(QStringList()<<"语文"<<"数学"<<"英语");ui->listView->setModel(model);
2.使用自定义的widget
这里使用QLineEdit来举例,可以使用自定义的widget,图如下,可以看到第二行变成了行编辑框。
QLineEdit *lineEdit = new QLineEdit(ui->listView);lineEdit->setText("数学");ui->listView->setIndexWidget(index,lineEdit);
3.设置默认哪一行选中
QModelIndex index2 = model->index(2);
ui->listView->setCurrentIndex(index2);
二.信号
以下信号经常使用
void activated(const QModelIndex &index)
void clicked(const QModelIndex &index)
void doubleClicked(const QModelIndex &index)
void entered(const QModelIndex &index)
void pressed(const QModelIndex &index)
简单相应点击的信号,点击后打印text
void Widget::on_listView_clicked(const QModelIndex &index)
{qDebug()<<model->data(index).toString();
}
三.右键弹出菜单
//打开右键菜单属性ui->listView->setContextMenuPolicy(Qt::CustomContextMenu);//右键菜单menu = new QMenu(ui->listView);menu->addAction("添加");menu->addAction("删除");//响应右键菜单信号槽connect(ui->listView,&QListView::customContextMenuRequested,this,&Widget::slotCustomContextMenuRequested);void Widget::slotCustomContextMenuRequested(const QPoint &pos){menu->exec(ui->listView->mapToGlobal(pos));}
四.设置QSS
QListView
{show-decoration-selected: 1; /* make the selection span the entire width of the view */
}QListView::item:alternate
{background: #EEEEEE;
}QListView::item:selected
{border: 1px solid #6a6ea9;
}QListView::item:selected:!active
{background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #ABAFE5, stop: 1 #8588B2);
}QListView::item:selected:active
{background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #6a6ea9, stop: 1 #888dd9);
}QListView::item:hover
{background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #FAFBFE, stop: 1 #DCDEF1);
}
//适用于开启交替颜色
QListWidget#listWidget
{alternate-background-color:blue;background:yellow
}
调用setStyleSheet即可
五.源码
QListView详解-C++文档类资源-CSDN下载
Qt QListView详解相关推荐
- Qt Phonon详解
Qt Phonon详解(转帖) 前言 Phonon严格来说其实非为Qt的library,Phonon原本就是KDE 4的开放原始码多媒体API,後来与Qt合并与开发,所以简单来说就是Qt使用Phono ...
- Qt QSqlQueryModel详解
1.功能概述 QSqlQueryModel是QSqlTableModel的父类.QSqlQueryModel封装了执行SELECT语句从数据库查询数据的功能,但是QSqlQueryModel只能作为只 ...
- Qt MetaObject 详解
这个系列的几篇文章通过阅读Qt帮助文档和相关的源代码来学习研究Qt meta-object所提供的功能,及其实现的方式. Qt meta-object系统基于三个方面: 1.QObject提供一个基类 ...
- Qt QTreeWidget 详解
Qt系列文章目录 文章目录 Qt系列文章目录 前言 主要API 示例 1.头文件: 2.实现文件 二.源码下载 前言 官方文档 QTreeWidget类是一个方便的类,它提供了一个标准tree小部件与 ...
- 《Qt 数据库详解》博客系列文章
本文章原创于www.yafeilinux.com 转载请注明出处. 由于该系列文章图床都挂了,特下载原文博客的word版. 详细博客请点附件下载. 21-Qt数据库(一)简介 22-Qt数据库(二)添 ...
- Qt QList详解
1.QList是一种表示链表的模板类. 2.QList是Qt的一种泛型容器类.它以链表方式存储一组值,并能对这组数据进行快速索引,还提供了快速插入和删除等操作. 3.QList.QLinkedList ...
- Qt MetaObject 详解之二:QMeta数据以及数据结构信息
如果一个类的声明中包含Q_OBJECT宏,那么qmake将为这个类生成 meta信息,这个信息在前一篇中所提到的moc文件中.这一篇通过解析这个一个示例moc文件来阐述这些meta信息的存储方式和格式 ...
- Qt QVector 详解:从底层原理到高级用法
目录标题 引言:QVector的重要性与简介 QVector的常用接口 QVector和std::Vector 迭代器:遍历QVector 中的元素(Iterators: Traversing Ele ...
- VS中使用Qt方法详解
在 Qt Creator 中可以使用 MSVC 编译工具对 Qt 项目进行编译.若有人比较习惯于使用 Visual Studio,或某些项目必须使用 Visual Studio,也可以在 Visual ...
- Qt QSet 详解:从底层原理到高级用法
目录标题 引言:QSet的重要性与简介 QSet 的常用接口 迭代器:遍历Qset 中的元素(Iterators: Traversing Elements in Qset ) 高级用法:QSet 中的 ...
最新文章
- Linux 开机网络无法自动连接配置、网络开机自动连接
- 2014年中回首与展望
- CVE-2016-1779技术分析及其背后的故事
- CS190.1x-ML_lab1_review_student
- EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs'
- 成员缩写_「gnps,nbcs」是什么意思?00后饭圈缩写你看懂多少
- mathwin.top 联系我们_设计:“有目的”的“因果联系”
- 解决opensips NAT 问题和ACK不能正常转发问题
- 【华为云技术分享】深度详解GaussDB bufferpool缓存策略
- 【华为云技术分享】云小课 | 容灾切换:业务一键切换到容灾站点
- 黑科技抗疫,Python 开发者大集结!
- 【AS3代码】正则表达式的各种用法和小实例
- >>’ should be ‘> >’ within a nested template argument list
- 这场直播,我们把 Apache 顶级项目盛会搬来了!
- 拓端tecdat|R语言作图不显示中文解决办法,如何使用中文字体
- VNCTF2021[WEB]
- 课程设计题二:7人多数表决器
- Javaweb常用单词
- 修改服务器配额有什么坏处,云服务器配额调整
- win7 使用扫描仪扫描照片