Dear All,
I am trying to develop an application, where in i want to store the user data.
I have used different lineedits to take the inputs from my user…i have also apply some validators to some lineedit entries….as per expectation the editing finished signal of line edit should not be emitted till the inputs satisfies the validator condition…but in my case focus is shifting to next line edit…creating trouble for me…
please help me.
#include "addmemberdlg.h"
#include "ui_addmemberdlg.h"
AddMemberDlg::AddMemberDlg(QWidget *parent) :
QDialog(parent),
ui(new Ui::AddMemberDlg)
{
ui->setupUi(this);
setWindowTitle("ADD MEMBER");
}
AddMemberDlg::~AddMemberDlg()
{
delete ui;
}
void AddMemberDlg::on_pushButton_clicked() //Add Member
{
QSqlQuery("SecureFirst");
QSqlQuery query;
// if(ui->comboBox->currentText() == "-")
// offval = 0 - offval;
#if 0
QString cardno;
QValidator *v;
int pos;
//QToolTip ttip;
v = new QIntValidator(1,99999,this);
ui->lineEdit_CardNo->setValidator(v);
ui->lineEdit_CardNo->setMaxLength(5); //Card number of maximum 99999 is allowed
if(ui->lineEdit_CardNo->text().length() == 5)
ui->lineEdit_CardNo->setToolTip("Maximum Character Exceeds");
cardno = ui->lineEdit_CardNo->text();
bool a = cardno.isEmpty();
if(!a){//if not empty
int i = v->validate(cardno,pos);
if((i==0)||(i==1)){ //invalid input
QMessageBox::information(this,"Add Member Request","Please enter numbers only");//Data Not complete
}
}
else
QMessageBox::information(this,"Add Member Request","Please enter numbers only");//Data Not complete
#endif
QString paymode = ui->comboBox->currentText();
db.transaction();
query.prepare("UPDATE SecureData SET CardNo=:CardNo, MemberName=:MemberName, Mobile=:Mobile, Address=:Address,SchemeName=:SchemeName, SchemeDuration=:SchemeDuration, Date=:Date, PayMode=:PayMode, Agent=:Agent");
query.bindValue(":CardNo",cardno);
query.bindValue(":MemberName",mname);
query.bindValue(":Mobile",mobile);
query.bindValue(":Address",address);
query.bindValue(":SchemeName",schemen);
query.bindValue(":SchemeDuration",duration);
query.bindValue(":Date",joining);
query.bindValue(":PayMode",paymode);
query.bindValue(":Amount",amount);
query.bindValue(":Agent",agent);
query.exec();
db.commit();
//InitOffsetValues();
QMessageBox::information(this,"Add Member Request","Data Saved Successfully");//Data Saved
}
void AddMemberDlg::on_pushButton_2_clicked()//Exit
{
reject();
}
#if 1
void AddMemberDlg::on_lineEdit_CardNo_editingFinished()
{
QValidator *v;
int pos;
//QToolTip ttip;
QWidget::setAttribute(Qt::WA_AlwaysShowToolTips);
v = new QIntValidator(1,99999,this);
ui->lineEdit_CardNo->setValidator(v);
ui->lineEdit_CardNo->setMaxLength(5); //Card number of maximum 99999 is allowed
// if(ui->lineEdit_CardNo->text().length() == 6)
// ui->lineEdit_CardNo->setToolTip("Maximum Character Exceeds");
cardno = ui->lineEdit_CardNo->text();
bool a = cardno.isEmpty();
if(!a){//if not empty
int i = v->validate(cardno,pos);
if((i==0)||(i==1)){ //invalid input
QMessageBox::information(this,"Card Number","Please enter numbers only");//Data Not complete
ui->lineEdit_CardNo->clear();
}
}
else
QMessageBox::information(this,"Card Number","Please Enter unique Card Number");//Data Not complete
ui->lineEdit_CardNo->setFocus();
}
void AddMemberDlg::on_lineEdit_MName_editingFinished()
{
QString mname = ui->lineEdit_MName->text();
bool b = mname.isEmpty();
if(b){//if empty
QMessageBox::information(this,"Member Name","Field is empty");//Data Not complete
}
}
void AddMemberDlg::on_lineEdit_Mobile_editingFinished()
{
QString mobile = ui->lineEdit_Mobile->text();
bool c = mobile.isEmpty();
if(!c){//if not empty
QValidator *validm;
int pos;
//QToolTip ttip;
validm = new QIntValidator(1111111111,9999999999,this);
ui->lineEdit_CardNo->setValidator(validm);
ui->lineEdit_CardNo->setMaxLength(10); //Mobile number of maximum 99999 is allowed
int i = validm->validate(mobile,pos);
if((i==0)||(i==1)){ //invalid input
QMessageBox::information(this,"Mobile Number","Please enter numbers only");//Data Not complete
}
}
else
QMessageBox::information(this,"Mobile Number","Enter Mobile Number");//Data Not complete
}
void AddMemberDlg::on_lineEdit_Addr_editingFinished()
{
QString address = ui->lineEdit_Addr->text();
bool d = address.isEmpty();
if(d){
QMessageBox::information(this,"Address","Address Field is Empty");//Data Not complete
}
↧