QTableWidget获取某单元格QLineEdit的editingFinished()信号
问题:
QTableWidget的单元格文字支持是由其代理类创建的QLineEdit提供的,但是无法直接获取其QLineEdit的指针,因此就无法获得editingFinished()信号了。
如果自己实现代理类,然后引出信号,实现起来又太过麻烦。
解决办法:
经过尝试,考虑使用信号QAbstractItemModel::dataChanged()来代替,则方便许多。
其中,model由函数model()取得即可,例如:
connect(ui->tableWidget->model(), SIGNAL(dataChanged(QModelIndex,QModelIndex,QVector<int>)), this, SLOT(test(QModelIndex,QModelIndex,QVector<int>)));
备注:
该信号会在单元格编辑完毕(例如按下回车或点击其它单元格)时触发,但是数据未改变则不会触发。