QTreeWidget,编辑某一项内容改变显示文本时,如何得到编辑框呢?如何知道什么编辑完成呢?
其实只要重写commitData()就可以了,比如:
class QXmlTreeWidget : public QTreeWidget
{
Q_OBJECT
public:
QXmlTreeWidget(QWidget *parent);
~QXmlTreeWidget();
protected:
void commitData(QWidget *editor);
};
void QXmlTreeWidget::commitData(QWidget *editor)
{
QString strText = ((QLineEdit *)editor)->text();
if (strText.isEmpty()) //如果文本为空,则不提交
{
return;
}
QAbstractItemView::commitData(editor);
}
如上,如果编辑框文本输入为空,则不修改。也可以做其它限制。