我在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控件在什么地方,找到它当然就可以控制相应的操作了。。。