一个基础QItemDelegate检查器类

//检查器类
class GLineEditItemDelegate : public QItemDelegate
{
private:
	QValidator *mpValidator;					   // 检查器
	QLineEdit *mpCurrent;

public:
	QWidget * createEditor(QWidget * parent, const QStyleOptionViewItem &option, const QModelIndex & index) const
	{
		QLineEdit *edit = new QLineEdit(parent);
		edit->setValidator(mpValidator);		  // 此行编辑设置为仅接受验证器mpValidator所约束的输入
		return edit;
	}

public:
	GLineEditItemDelegate(QObject *parent) : QItemDelegate(parent)
	{
		mpValidator = NULL;
		mpCurrent = NULL;
	}

	GLineEditItemDelegate(QValidator *validator, QObject *parent) : QItemDelegate(parent)
	{
		mpValidator = validator;
		mpCurrent = NULL;
	}

	QValidator * validator()
	{
		return mpValidator;
	}

	void setValidator(QValidator *validator)
	{
		mpValidator = validator;
	}
};
原文地址:https://www.cnblogs.com/zhangli07/p/11704526.html