标签:
QTablewidgetItem点击item之外空间时信号的获取。
在使用QTableWidget表格控件时,表格控件被设置成点选单行选择,
当我点击某一行时,获取此行所有Item中的数据,
当点击表格中Item之外的控件时,取消选中。
要获取这个动作,来进行一些别的操作。
查阅Qt助手发现官方没有提供一个成熟的信号。
想实现以上需求,有两种方法,一种是自己手动更改表格控件Table,通过重写鼠标事件,
来发送自己设计的信号。
另一种方法是,使用QTableWidget已存在的信号
void itemSelectionChanged();
connect(table,SIGNAL(itemSelectionChanged()), this,SLOT(slotSelectChanged()));
void Widget::slotSelectChanged() { qDebug()<<"void Widget::slotSelectChanged()--"; qDebug()<<"select items count"<<table->selectedItems().size(); }
当信号槽被触发后,通过判断当前表格中已被选中的Item的数量来判断鼠标点击动作是在item上还是
点击在表格item之外的空间。
当点击在item之上时,输出的被选中item的数量是4,
当点击在item之外时,输出的被选中item的数量是0。
void Widget::slotSelectChanged()-- select items count 4 void Widget::slotSelectChanged()-- select items count 0
标签:
原文地址:http://www.cnblogs.com/gebilaowangdebaba/p/5017423.html