一、“使用视图”一般的步骤:
//1.创建 模型(这里是数据模型!) tabModel=new QSqlTableModel(this,DB);//数据表
//2.设置 视图的模型(这里是数据模型!) ui->tableView->setModel(tabModel);
模型种类:
QStringListModel:存储QString项目的列表模型;
QStandardItemModel:列表表格数模型;
QFileSystemModel:本地文件系统中的文件和目录模型;
QSqlQueryModel、 QSqlTableModel、 QSqlRelationalTableModel:数据库相关模型;
QItemSelectionMode:选择模型;
二、然而,正常情况下:“视图”都需要进行“选择”操作(当前项切换、当前行切换、选择行变化时=> 要使用“选择模型”对象 发送信号)。因此,引入了“选择模型”!
//2.创建 选择模型 theSelection=new QItemSelectionModel(tabModel);
//3.设置视图的“选择模型” ui->tableView->setSelectionModel(theSelection);
//4.选择行变化时,theSelection发送currentRowChanged信号
connect(theSelection, SIGNAL(currentRowChanged(QModelIndex,QModelIndex)),
this,SLOT(on_currentRowChanged(QModelIndex,QModelIndex)));
三、注意:
当既有“数据模型”,又有“选择模型”的时候。设置“模型”setModel,必须放到 设置“选择模型”setSelectionModel函数“之前”!
=》因为setModel函数会删除之前设置的“选择模型”!
1.ui->tableView->setModel(tabModel);//设置视图的 数据模型
2.ui->tableView->setSelectionModel(theSelection); //设置视图的 选择模型
原文地址:https://blog.csdn.net/zxf347085420/article/details/135473778
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_54056.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!