当前位置: 代码迷 >> QT开发 >> QT QTableWidget 信号有关问题
  详细解决方案

QT QTableWidget 信号有关问题

热度:557   发布时间:2016-04-25 04:20:21.0
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的信号也是管用的~
------其他解决方案--------------------
引用:
谢谢zhh_steven,问题解决了
是我connect函数写错位置了~
为了方便其他人,这里说一下:
设置选中一行,cell的信号也是管用的~


求指教啊 我还是没用 我没设置成选中一行 这应该没影响吧
 connect(tableCalendar, SIGNAL(cellClicked(int,int)), this, SLOT(itemEntered(QTableWidgetItem*)));
  相关解决方案