//检查器类
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;
}
};