本来打算用这个信号判断重命名完成,判断命名是否重复的。可是这个信号好多时候都会产生。如何区别发送这个信号是由于我的重命名操作完成,而不是
其他?代码如下:
QTreeWidgetItem *top=new QTreeWidgetItem(this);
top->setFlags(top->flags() | Qt::ItemIsEditable);
this->editItem(top, 0);
connect(this,SIGNAL(
itemChanged( QTreeWidgetItem *,int )),this,SLOT(nameChanged(QTreeWidgetItem )));
在namechanged函数中,与
数据库中的数据进行
比较,若重名则用
QMessageBox提示,并继续编辑。单步
执行代码发现:一次重命名,N次进入了nameChanged()函数,这说明信号itemchanged泛滥了