我在 main.cpp 檔案上使用 qdialog 進行了簡單的登錄。當我輸入錯誤的密碼時,Dialog 沒有再次詢問密碼,只是關閉了一個對話框。輸入錯誤時如何再次提問?QT 5.15 C
這是我的代碼
QString login = QInputDialog::getText(NULL, "Login","username",QLineEdit::Normal);
if (login == cnstnt::username)
{
QString getPassword = QInputDialog::getText(NULL, "Login","password",QLineEdit::Password);
QString hashpassword = hlpr::passwordHash(getPassword.toUtf8());
if(hashpassword == hlpr::getTxtPassword()){
w.show();
}else{
QMessageBox::warning(nullptr, "error!", "wrong password!");
}
}
else
{
QMessageBox::warning(nullptr, "error!", "Kullan?c? ad?n?z hatal?!");
}
uj5u.com熱心網友回復:
這應該有效:
QString login = QInputDialog::getText(NULL, "Login","username",QLineEdit::Normal);
if (login == cnstnt::username)
{
QString getPassword = QInputDialog::getText(NULL, "Login","password",QLineEdit::Password);
QString hashpassword = hlpr::passwordHash(getPassword.toUtf8());
while (hashpassword != hlpr::getTxtPassword()) {
QMessageBox::warning(nullptr, "error!", "wrong password!");
QString getPassword = QInputDialog::getText(NULL, "Login","password",QLineEdit::Password);
hashpassword = hlpr::passwordHash(getPassword.toUtf8());
}
w.show();
}
else
{
QMessageBox::warning(nullptr, "error!", "Kullan?c? ad?n?z hatal?!");
}
回圈條件檢查密碼是否不正確。如果是,它會顯示一條訊息并再次詢問密碼,直到密碼匹配。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/496985.html