ui->tableWidget的双击事件可能会被当作两次双击
具体信号槽的连接方式为
connect(ui->tableWidget,SIGNAL(cellDoubleClicked(int,int)),this,SLOT(on_tableWidget_cellDoubleClicked(int,int)));
注意:此时使用的信号为:
SIGNAL(cellDoubleClicked(int,int))
使用该连接方式可能会发生,鼠标进行了一次双击事件,但是会发送两次信号,导致处理了两次的情况发生。
解决方案
使用信号SIGNAL(itemDoubleClicked(QTableWidgetItem*))
进行连接。
整体代码为:
connect(ui->tableWidget,SIGNAL(itemDoubleClicked(QTableWidgetItem*)),this,SLOT(on_tableWidget_cellDoubleClicked(QTableWidgetItem*)));
使用QTableWidgetItem *item
的item,仍然可以获取行号、列号,liru例如:item->row();item->column();
并且相比信号SIGNAL(cellDoubleClicked(int,int))
,接口更加灵活,可以获取QTableWidgetItem
的其他相关信息。