《Qt学习笔记》第一章--登录界面设计

本次的程序目的是编写一个登陆界面程序,包含了账号密码确认的功能,输入框设置提示字符,密码框采用password模式,设置登录按钮为默认焦点。基本逻辑为:当输入账户密码时,按回车键或者点击登录按钮,程序判断账号密码是否正确,若正确则弹出主窗口,否则弹出警告框。程序效果如图:



头文件:

#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 = 0);
    ~LoginDialog();

private slots:
    void on_enter_pushButton_clicked();

private:
    Ui::LoginDialog *ui;
};

#endif // LOGINDIALOG_H

cpp文件

#include "LoginDialog.h"
#include "ui_LoginDialog.h"

LoginDialog::LoginDialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::LoginDialog)
{
    ui->setupUi(this);
    ui->enter_pushButton->setDefault(true);
    connect(ui->enter_pushButton,&QPushButton::clicked,this,&LoginDialog::on_enter_pushButton_clicked);
    connect(ui->quit_pushButton,&QPushButton::clicked,this,&LoginDialog::close);
}

LoginDialog::~LoginDialog()
{
    delete ui;
}

void LoginDialog::on_enter_pushButton_clicked()
{
    if(ui->user_lineEdit->text() == tr("wangcong") && ui->password_lineEdit->text() == tr("lovefzj"))
    {
        accept();
    }
    else
    {
        QMessageBox::warning(this,tr("警告"),tr("用户名或密码错误"));
        ui->user_lineEdit->clear();
        ui->password_lineEdit->clear();
        ui->user_lineEdit->setFocus();
    }
}

main函数:
#include "mainwindow.h"
#include"LoginDialog.h"
#include <QApplication>
#include<QDebug>
#include<QString>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    LoginDialog enterWindow;
    if(enterWindow.exec() == QDialog::Accepted)
    {
        w.show();
        return a.exec();
    }
    else
        return 0;
}



猜你喜欢

转载自blog.csdn.net/wingWC/article/details/72636850