admin管理员组

文章数量:1540702

QT模拟实现网页登录界面

常见的网络登录界面一般包括用户名 Lable 和编辑框,密码 Label 和编辑框,是否保存密码的 Check 按钮,以及确定登录和退出按钮组成,界面设计如下:

一般的登录流程如下:用户输入用户名和密码,有的可能会勾选保存密码选项;然后点击确定按钮向服务器发出登录请求;服务器收到请求后与数据库中存储的记录比较,存在则允许用户登入系统;客户端在收到确认后先将本次登录计入存入本地文件或数据库,然后开始加载相关内容或服务。
所以在后程序需要模拟服务器验证和用户输入记录缓存的功能。

明白基本流程后,下面介绍一下程序设计。程序界面实现类为QLogInWindow,头文件:

#ifndef QLOGINWINDOW_H
#define QLOGINWINDOW_H

#include <QMainWindow>

class QLineEdit;
class QPushButton;
class QCheckBox;

class QLogInWindow : public QMainWindow
{
    Q_OBJECT

public:
    QLogInWindow(QWidget *parent = 0);
    ~QLogInWindow() {}

private:
    void createConnection();//初始化数据库
    bool CheckUser(const QString&, const QString&);//用户校验
    void SaveEntrytoFile(const QString&, const QString&);//保存登录记录到本地

//响应事件
public slots:
    void onOkButtonClicked();
    void onKeyboardButtonPressed();
    void onKeyboardButtonReleased();
    void onPasswdChanged(const QString&);

private:
    QLineEdit *user_entry;//用户名
    QLineEdit *passwd_entry;//密码
    QPushButton* m_EyeButton;//密码显示或隐藏按钮
    QCheckBox *rememberPSW; //是否记住密码
};

#endif // QLOGINWINDOW_H

该类的设计遵循登录界面的基本结构,slot 函数分别对应确定按钮和密码显示控制按钮。
实现:

#include "qloginwindow.h"

// For Debuging
#include <QDebug>
#include <QDate>

#include <QLabel>
#include <QLayout>
#include <QPushButton>
#include 

本文标签: 界面网页QT