QtableView内右击菜单判断位置是否合理

在QtableView中实现右击菜单时遇到问题,当右击空白处导致程序中断。解决办法是判断选中行是否在model的有效范围内,如果选中行号为-1,则表示点击在空白处,无需进行数据操作。
摘要由CSDN通过智能技术生成

实践过程中出现的小bug:
当我右击view空白处,即我没选中有内容的行时,程序中断,因为我没做位置判断而直接获取行内容赋值给其他变量。

QModelIndex temp = m->index(right_click.row(),1);

解决方案:
判断选中的行是否在我们model的行范围内。
如何获取model的行?

ui.table_view->model()->rowCount();

实际上我们不需要使用

right_click.row() < ui.table_view->model()->rowCount();

因为tableview的显示方式入数组,从下表0到rowCount-1开始表示,而往下空白处 均以-1表示。
那么我们

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值