QT QTableWidget 信号问题~使用了QTableWidget,并设置了格式,只能选中一行 //单击选择一行 ui.tableWidget
QT QTableWidget 信号问题~
使用了QTableWidget,并设置了格式,只能选中一行
//单击选择一行
ui.tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
//设置只能选择一行,不能多行选中
ui.tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
现在要加一个信号,当用户选中某一行时,提取该行的数据并执行相应操作
试过cellEntered,cellClicked,itemEntered等,函数如下,RecordCell(int,int)是我的槽函数,
connect(ui.tableWidget,SIGNAL( cellEntered(int , int) ),this,SLOT( RecordCell(int, int) ) );
但是,每次都接受不到信号,setMouseTracking也设置了,还是不行.求大神赐教~
[最优解释]cellEntered,cellClicked,itemEntered
这些信号只是针对某个cell的,因你设置的设置只能选择一行,所以可能没起作用;
[其他解释]试试这个信号
void QTableWidget::itemSelectionChanged () [signal]
然后在其slot函数中调用 selectedItems() 来得到所选择的QTableWidgetItem
[其他解释]谢谢zhh_steven,问题解决了
是我connect函数写错位置了~
为了方便其他人,这里说一下:
设置选中一行,cell的信号也是管用的~
[其他解释]求指教啊 我还是没用 我没设置成选中一行 这应该没影响吧
connect(tableCalendar, SIGNAL(cellClicked(int,int)), this, SLOT(itemEntered(QTableWidgetItem*)));