当前位置: 代码迷 >> QT开发 >> QTableWidget 取得某一行的坐标
  详细解决方案

QTableWidget 取得某一行的坐标

热度:795   发布时间:2016-04-25 03:31:50.0
QTableWidget 获得某一行的坐标
如题,可以在QTablewidget中获得某一行的坐标吗?或者获得某一个元素的坐标。

------解决方案--------------------
你可以通过rowHeight(int)来获取每行的高度,累计一下就能计算出每行的坐标,你还可以通过columnWidth()得到y坐标
------解决方案--------------------
引用:
你可以通过rowHeight(int)来获取每行的高度,累计一下就能计算出每行的坐标,你还可以通过columnWidth()得到y坐标


如果行列都有滚动条,并且都滚动了呢,累计算出来的就不对了吧
------解决方案--------------------
引用:
Quote: 引用:

你可以通过rowHeight(int)来获取每行的高度,累计一下就能计算出每行的坐标,你还可以通过columnWidth()得到y坐标


如果行列都有滚动条,并且都滚动了呢,累计算出来的就不对了吧

滚动了也没事啊
------解决方案--------------------
可以响应mousePressEvent()函数,当鼠标点击QTablewidget中的某一行时,就会进入到此函数中,
void CTablewidget::mousePressEvent(QMouseEvent *event)
{
   QPoint pos = event->pos();
}
这样就获取到当前你鼠标的位置,QPoint就包含x和y
------解决方案--------------------
你的目的是什么?
------解决方案--------------------

QModelIndex index = currentIndex();
index = model()->index(row,col);
    setCurrentIndex(index);

希望上面三行代码能帮到你
------解决方案--------------------
引用:
Quote: 引用:


QModelIndex index = currentIndex();
index = model()->index(row,col);
    setCurrentIndex(index);

希望上面三行代码能帮到你

这是什么意思呢,我想通过行获得坐标

QTableWidget不就是表格吗?上面代码就是获得第几行第几列的。
不过是用在QTableView里的,QTableWidget应该也差不多
  相关解决方案