**情景:**做一个信息表格,需要多个Model切换,必须用QTableView,而不能用QTableWidget,因为后者不可以进行setModel()。

方案:
QTableView和选择有关的的信号有:

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)

没有类似currentRowChanged()信号怎么办?自己响应clicked(const QModelIndex &index)信号吗?虽然可以,但是比较麻烦。
这里的推荐方法是使用QItemSelectionModel(),此类的信号有:

void currentChanged(const QModelIndex &current, const QModelIndex &previous)
void currentColumnChanged(const QModelIndex &current, const QModelIndex &previous)
void currentRowChanged(const QModelIndex &current, const QModelIndex &previous)
void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)

这些信号中可以获取所有选中状态的变化情况,而且便于使用。

细节:
另外,使用中发现,连接QItemSelectionModel的信号必须setModel之后,否则QTableView::selectionModel()返回值为NULL。说明必须在View中有Model之后,才可以进行信号连接。


本文原创首发于公众号 Qt未来工程师。

Qt: QTableView如何获取(行)选中、行切换信息相关推荐

  1. QT QTableView QTableWidget 复杂表头(多行表头) 、(冻结、固定特定的行)

    demo下载地址在最后 ================================分割线====================================== 对于所有前端开发人员会留意到 ...

  2. qt qstandarditemmodel rowcount获取行数不正确_MIL+QT实践教程十

    今天主要介绍QT中tabwidget的用法,即怎样利用表格存储数据并对表里的数据进行其他类似excel 的操作,具体包括: 1.选中方式,单行选中或者多行选中: 2.复制行,可以将单行或者多行选中的内 ...

  3. qtabwidget设置表头_Qt GUI图形图像开发之QT表格控件QTableView,QTableWidget复杂表头(多行表头) 及冻结、固定特定的行的详细方法与实例...

    我们在开发过程中对于表格使用频率还是挺高的,使用QT框架开发时候我们使用QTableView或者QTableWidget创建表格. 其中表格分为 表格头与表格体: 对于简单地表格,我们可以设置表头来满 ...

  4. tablewidget 多行表头_Qt GUI图形图像开发之QT表格控件QTableView,QTableWidget复杂表头(多行表头) 及冻结、固定特定的行的详细方法与实例...

    我们在开发过程中对于表格使用频率还是挺高的,使用QT框架开发时候我们使用QTableView或者QTableWidget创建表格. 其中表格分为 表格头与表格体: 对于简单地表格,我们可以设置表头来满 ...

  5. vue获取table一列数据_vue表格含有一列多选框,如何获取被选中的行的数据?

    1.仿照element-ui官网贴出的demo,table表格多选,选择多行数据时使用 Checkbox.但是无法获取this.multipleSelection的值.相关代码如下: 男 女 个人 团 ...

  6. vue复制html表格单列,vue表格含有一列多选框,如何获取被选中的行的数据?

    1.仿照element-ui官网贴出的demo,table表格多选,选择多行数据时使用 Checkbox.但是无法获取this.multipleSelection的值.相关代码如下: 男 女 个人 团 ...

  7. datagridview选中获取行号_请问c# 的winform 怎么获取 datagridview选中的行数和列数啊...

    展开全部 获取62616964757a686964616fe59b9ee7ad9431333431373332总行数:dataGridView1.Rows.Count; 获取当前选中行索引:int i ...

  8. dataGruidView整行选中

    选中 //你选中的第0行的第0个单元格 SelectedRows[0]整行选中string id = dataGridView1.SelectedRows[0].Cells[0].Value.ToSt ...

  9. el-table选框选中和整行选中

    1.点击整行时触发的事件 @row-click 2.获取列表选中的数据一定要用@select-change,不能用@select,因为@select只有点每行前面的选框才会触发这个事件,而@selec ...

最新文章

  1. 改进量子计算机的三项创新
  2. jsp mysql增加_jsp+mysql实现增加,查看功能
  3. RHEL(RedHat Enterprise Linux)5/6 ISO镜像下载
  4. c语言编程抢30,抢三十-程序?
  5. linux下nano修改并保存
  6. IOC AOP 设计模式
  7. C# 如何转换生成长整型的时间
  8. Java 方法使用final 修饰参数的作用
  9. python设计函数isleapyear_Python实战练习——打印日历教程
  10. FTP服务器构建与维护,ftp服务器的搭建与三种访问途径
  11. ios 图片居中裁剪_iOS实现图片的缩放和居中显示
  12. localStorage存储数组以及取数组方法。
  13. [渝粤教育] 龙岩学院 Web信息系统应用开发 参考 资料
  14. 弄一个html的登录页面,如何制作一个简单的HTML登录页面(附代码)
  15. AppScan 下载地址
  16. 编译原理 语法分析程序LL(1)和LR(0)实现
  17. Constructing Narrative Event Evolutionary Graph for Script Event Prediction
  18. gitter 卸载_最佳Gitter频道:数学
  19. mysql命令创库创表_创库+表的操作
  20. 【三级等保】三级等保服务费用一年大概要多少?一年需要测评一次嘛?

热门文章

  1. 【大数据】Hadoop入门预告版
  2. 进阶学习js中的执行上下文
  3. 在 Apex 代码中生成 csv 文件
  4. BZOJ 3479: [Usaco2014 Mar]Watering the Fields( MST )
  5. c++将文本中的字符串一次读入到内存
  6. ContentType的类型
  7. 关于客户端无法获得服务器端GP服务(Geoprocessing Service)结果的解决办法
  8. java jxl 写 excel文件_Java使用jxl写入Excel文件
  9. 阿联酋esma认证怎么做_行业视野 | 关于阿联酋eCall 的要求更新
  10. 中英对照 关于计算机的科技英语,《计算机专业英语》(中英文对照).pdf