回复: 给QTableView中的一列添加按钮,如何获取按钮的点击事件和行号。
#6 回 lemonzll 的帖子 [巫添良 03-31 14:17]
lemonzll:用sender()那个方式是对的,这样得到的就是对应的你点击的按钮,然后用property("row")转成int就行了 (2016-01-20 16:30)
大佬 按照这样可以 但是如果删除了某一行那按钮的row的属性还是不变 应该怎么办?
#7 [lemonzll 03-31 17:48]
这个是看情况,楼主不怎么考虑删除,你如果删除比较多,就考虑下其他行列的数据model里面怎么来的,比如每一行是不是对应个QObject类当数据源,如果有,setProperty里面直接放QObject类,然后再从QObject对象索引出来行列,方式很灵活。上面property里面放行列的方式也可以,就是如果你删除某一行的话,就得把所有大于该行的按钮的property属性里的row更新下
#8 [fu22507411 03-31 22:40]
试试用
virtual QModelIndex
indexAt(const QPoint &point) const = 0这个函数来获取。
point由button的mapfromWidget来获取