首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

QTableWidget报表中添加控件

2012-08-30 
QTableWidget表格中添加控件如题,我在QTableWidget表格中添加了一个QPushButton控件。在我点击这个控件的时

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

热点排行