模型\视图一般步骤:为什么经常要用“选择模型”QItemSelectionModel?

                        

                                

一、“使用视图”一般的步骤:

//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); //设置视图的 选择模型

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值