Quantcast
Channel: QtWebEngine
Viewing all articles
Browse latest Browse all 13965

Qline edit's Signal is not working as expected

$
0
0
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     }

Viewing all articles
Browse latest Browse all 13965

Trending Articles