读书人

QTableWidget表格中添加控件解决思路

发布时间: 2013-01-25 15:55:29 作者: rapoo

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

读书人网 >QT开发

热点推荐