当前位置: 代码迷 >> QT开发 >> QTableWidget报表中添加控件
  详细解决方案

QTableWidget报表中添加控件

热度:19   发布时间:2016-04-25 04:34:23.0
QTableWidget表格中添加控件
如题,我在QTableWidget表格中添加了一个QPushButton控件。

在我点击这个控件的时候,怎样获取到该控件位于QTableWidget的哪一行哪一列?

------解决方案--------------------
你是怎么添加的?是new出来的吧

你可以将你的button和行数的对应关系保存起来,QMap之类的

不过这个方法不知道可不可行,可以试试
------解决方案--------------------
void QTableWidget::itemClicked ( QTableWidgetItem * item ) [signal]
This signal is emitted whenever an item in the table is clicked. The item specified is the item that was clicked.

在主窗口定义一个与上面信号连接的槽函数,用于接收QTableWidgetItem * item,在利用下面的函数获取所在的行和咧
int QTableWidgetItem::column () const
int QTableWidgetItem::row () const

我没有尝试,不知方法是否可行。
------解决方案--------------------
int x = obj->frameGeometry().x();//obj为你QPushButton
int y = obj->frameGeometry().y();

QModelIndex index = m_pTableWidget->indexAt(QPoint(x,y));

int row = index.row();
int column = index.column();
------解决方案--------------------
这些问题都可以通过void QTableWidget::itemClicked ( QTableWidgetItem * item ) [signal]实现
通过item可以找到你的QPushButton控件在什么地方,找到它当然就可以控制相应的操作了。。。
  相关解决方案