完善對話框,點擊登錄對話框,如果賬號和密碼匹配,則彈出信息對話框,給出提示”登錄成功“,提供一個Ok按鈕,用戶點擊Ok后,關閉登錄界面,跳轉到其他界面
如果賬號和密碼不匹配,彈出錯誤對話框,給出信息”賬號和密碼不匹配,是否重新登錄“,并提供兩個按鈕Yes|No,用戶點擊Yes后,清除密碼框中的內容,繼續讓用戶進行登錄,如果用戶點擊No按鈕,則直接關閉登錄界面
如果用戶點擊取消按鈕,則彈出一個問題對話框,給出信息”您是否確定要退出登錄?“,并給出兩個按鈕Yes|No,用戶迪納基Yes后,關閉登錄界面,用戶點擊No后,關閉對話框,繼續執行登錄功能
要求:基于屬性版和基于靜態成員函數版至少各用一個。
void Widget::btn1_clicked()
{if(ui->edit1->text() == "admin" && ui->edit2->text() == "123456"){QMessageBox::information(this,"提示","登錄成功",QMessageBox::Ok);this->close();emit my_jump();}else{QMessageBox msg(QMessageBox::Warning,"警告","賬號和密碼不匹配,是否重新登陸",QMessageBox::Yes | QMessageBox::No,this);int ret = msg.exec();if(ret == QMessageBox::Yes){ //判斷警報this->show();ui->edit2->clear(); //清除}else{this->close(); //關閉}}
}void Widget::on_btn2_clicked() //按下取消
{QMessageBox msg(QMessageBox::Information,"提示","您是否要退出登錄",QMessageBox::Yes | QMessageBox::No,this);int ret = msg.exec();if(ret == QMessageBox::Yes){this->close();}else{this->show();}
}
//第二個界面自定義的槽函數的實現
void Second::jump_slot()
{this->show();
}
#include "widget.h"
#include "second.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();//實例化第二個界面Second s;QObject::connect(&w, &Widget::my_jump, &s, &Second::jump_slot);return a.exec();
}
登錄
登錄失敗
取消登錄