柚子快報(bào)邀請(qǐng)碼778899分享:QT登錄界面,(頁(yè)面的切換)
柚子快報(bào)邀請(qǐng)碼778899分享:QT登錄界面,(頁(yè)面的切換)
以登陸界面為例,(QDialog) 1.主界面先構(gòu)造login 的對(duì)話框類
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//先顯示Login的界面
Study_Login_Dialog login;
......
......
}
2.Login的類,可以用自定義的信號(hào):QDialog::accept();,QDialog::reject();
//點(diǎn)擊登錄按鈕時(shí),判斷用戶名密碼,驗(yàn)證成功則發(fā)送QDialog::accept();
//直接把登陸界面的連接的函數(shù)寫在一起
connect(ui->pushButton_login, &QPushButton::clicked, [=]()
{
//lambda表達(dá)式,判斷登錄信息
QString name = ui->lineEdit_name->text();
QString pwd = ui->lineEdit_passwd->text();
if(name.isEmpty())
{
QMessageBox::warning(this, "username", "用戶名不能為空");
return;
}
if(pwd.isEmpty())
{
QMessageBox::warning(this, "passwd", "密碼不能為空");
return;
}
if(name != "itcast" || pwd != "itcast")
{
QMessageBox::warning(this, "warning", "用戶名或密碼錯(cuò)誤");
return;
}
QDialog::accept();
});
//點(diǎn)擊退出按鈕,則直接發(fā)送QDialog::reject();
QDialog::reject();
3.在主進(jìn)程中進(jìn)行處理,登錄界面關(guān)閉( login.exec()),進(jìn)行判斷是否是QDialog::Accepted ,是則彈出主頁(yè)面(MainWindow )
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//先顯示Login的界面
Study_Login_Dialog login;
//信號(hào)可以傳遞
if(login.exec() == QDialog::Accepted)
{
MainWindow w;
w.show();
return a.exec();
}
else
{
return 0;
}
}
柚子快報(bào)邀請(qǐng)碼778899分享:QT登錄界面,(頁(yè)面的切換)
參考閱讀
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。