Here is my code, try it:
#include <QApplication>
#include <QIntValidator>
#include <QLineEdit>
#include <QDialog>
#include <QVBoxLayout>
public:
};
void MyIntValidator
::fixup(QString &input
) const { int v = input.toInt();
if(v<bottom
()) input
= QString::number(bottom
());
if(v>top
()) input
= QString::number(top
());
}
int main(int argc, char **argv){
layout->addWidget(le);
layout->addWidget(other);
dlg.setLayout(layout);
le->setValidator(validator);
dlg.show();
return app.exec();
}
#include <QApplication>
#include <QIntValidator>
#include <QLineEdit>
#include <QDialog>
#include <QVBoxLayout>
class MyIntValidator : public QIntValidator {
public:
MyIntValidator(int l, int t, QObject *p=0) : QIntValidator(l,t,p){}
void fixup(QString &input) const;
};
void MyIntValidator::fixup(QString &input) const {
int v = input.toInt();
if(v<bottom()) input = QString::number(bottom());
if(v>top()) input = QString::number(top());
}
int main(int argc, char **argv){
QApplication app(argc, argv);
QDialog dlg;
QVBoxLayout *layout = new QVBoxLayout;
QLineEdit *le = new QLineEdit(&dlg);
QLineEdit *other = new QLineEdit(&dlg);
layout->addWidget(le);
layout->addWidget(other);
dlg.setLayout(layout);
QIntValidator *validator = new MyIntValidator(3,16000, le);
le->setValidator(validator);
dlg.show();
return app.exec();
}
To copy to clipboard, switch view to plain text mode
Bookmarks