找回密码
 立即注册
收起左侧

请问如何知道QTableView离开当前编辑行?

1
回复
6080
查看
[复制链接]
累计签到:27 天
连续签到:1 天
来源: 2018-6-23 00:07:26 显示全部楼层 |阅读模式
10Qter豆
我使用一个QTableView控件,需要在鼠标点击当前编辑行之外的其它地方(本表其他行或本view界面之外的其它地方)时提交数据
本表其他行,可以用selectionModel的currentRowChanged信号搞定,这个我没问题,问题在于另一个要求,即要准确知道鼠标点击了本view之外的其它地方。
我试图重写focusOutEvent和focusInEvent,可发现两个问题:
1、我使用了Delegate,一旦进入Delegate编辑时,会进入focusOutEvent,导致提交,而此时还在编辑呢!
2、layout之后,鼠标点击view的空白处,会进入focusInEvent,南辕北辙。。。

总结一句话,我需要知道鼠标点击了非当前编辑的行(不管是本view还是view之外的其它界面),哪位大侠能给个解决方案?谢谢!

回复

使用道具 举报

累计签到:620 天
连续签到:1 天
2018-7-20 08:33:16 显示全部楼层
可以尝试把鼠标焦点位置的行数和当前编辑行(已知行数)比较,相等就是在当前行,不相等就不在
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了