logindialog.h
#ifndef LOGINDIALOG_H
#define LOGINDIALOG_H
#include <QDialog>
#include <QMessageBox>
namespace Ui {
class LoginDialog;
}
class LoginDialog : public QDialog
{
Q_OBJECT
public:
explicit LoginDialog(QWidget *parent = nullptr);
~LoginDialog();
private slots:
void on_pushButton_Login_clicked();
private:
Ui::LoginDialog *ui;
};
#endif // LOGINDIALOG_H
logindialog.cpp
#include "logindialog.h"
#include "ui_logindialog.h"
LoginDialog::LoginDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::LoginDialog)
{
ui->setupUi(this);
}
LoginDialog::~LoginDialog()
{
delete ui;
}
void LoginDialog::on_pushButton_Login_clicked()
{
//如果用户名密码正确,则调用accept()槽函数。QDialog中的accept函数会关闭自身并发送QDialog::accepted标识
if (ui->lineEdit_username->text() == "username" && ui->lineEdit_password->text() == "123456"){
accept();
}
else
{
QMessageBox::warning(this, "警告","用户名或密码错误,请重新输入!",QMessageBox::Yes);
ui->lineEdit_username->clear();
ui->lineEdit_password->clear();
ui->lineEdit_username->setFocus();
}
}
main.cpp
#include "mainwindow.h"
#include "logindialog.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
LoginDialog login;
if(login.exec()==QDialog::Accepted){
w.show();
return a.exec();
}
else{
return 0;
}
}