QT:小项目:登录界面 (下一个连接数据库)

一、效果图


登录后:

二、项目工程结构

三、登录界面UI设计

四主界面

四、源码设计

login.h

复制代码
#ifndef LOGIN_H
#define LOGIN_H

#include <QDialog>

namespace Ui {
class login;
}

class login : public QDialog
{
    Q_OBJECT

public:
    explicit login(QWidget *parent = 0);
    ~login();

    void login_init();

private slots:
    void on_pushButton_login_clicked();

    void on_checkBox_eye_stateChanged(int arg1);

private:
    Ui::login *ui;
};

#endif // LOGIN_H

mainwindow.h

复制代码
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

    void login_init();
private slots:
    void on_pushButton_clicked();

    void on_pushButton_login_clicked();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H

login.cpp

复制代码
#include "login.h"
#include "ui_login.h"
#include "mainwindow.h"
#include <QMessageBox>
#include <QMovie>
#include <QPainter>

login::login(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::login)
{
    ui->setupUi(this);

    //初始化页面
    login_init();


}

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

void login::login_init()
{

    //去掉?号
    this->setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
    //更改名称
    this->setWindowTitle("login");

    //更换左上角图标
    this->setWindowIcon(QIcon(":/image/logol.png"));//生成窗口图标

    //设置标题logol
    ui->label_logol->setPixmap(QPixmap(":/image/login_title.png"));
    ui->label_logol->setScaledContents(true);

    //设置样式
    ui->lineEdit_account->setStyleSheet("QLineEdit{border-width:1px;border-radius:4px;font-size:16px;color:black;border:1px solid gray;}"
           "QLineEdit:hover{border-width:1px;border-radius:4px;font-size:16px;color:black;border:1px solid rgb(204,38,200);}");//边框宽度 边框圆角 字体大小 ...   选中边框颜色
    ui->lineEdit_password->setStyleSheet("QLineEdit{border-width:1px;border-radius:4px;font-size:12px;color:black;border:1px solid gray;}"
           "QLineEdit:hover{border-width:1px;border-radius:4px;font-size:12px;color:black;border:1px solid rgb(70,200,50);}");

    //设置密码框-密文登录
    ui->lineEdit_password->setEchoMode(QLineEdit::Password);

    //密码的隐藏和显示
    // 设置样式表(图片为眼睛样式)
    ui->checkBox_eye->setStyleSheet("QCheckBox {spacing: 5px;border: none;background-color: transparent;}"
    "QCheckBox::indicator {width: 20px;height: 20px;border: none;image: url(:/image/close_eye.png);}"
    "QCheckBox::indicator:checked {image: url(:/image/open_eye.png);}");


}

void login::on_pushButton_login_clicked()
{
    if(ui->lineEdit_account->text() == "admin" && ui->lineEdit_password->text() == "123456"){
        this->close();
        MainWindow *h=new MainWindow;
        h->show();
    }else{
        QMessageBox::warning(this,tr("登录失败"),tr("用户名或密码输入错误!"),QMessageBox::Ok);
        ui->lineEdit_account->clear();
        ui->lineEdit_password->clear();
        ui->lineEdit_password->setFocus();
    }

}

void login::on_checkBox_eye_stateChanged(int arg1)
{
    if(arg1){
            ui->lineEdit_password->setEchoMode(QLineEdit::Normal);
         }else{
            ui->lineEdit_password->setEchoMode(QLineEdit::Password);
         }

}

mainwindow.cpp

复制代码
#include "mainwindow.h"
#include "ui_mainwindow.h"


MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //更改名称
    this->setWindowTitle("");

    //更换左上角图标
    this->setWindowIcon(QIcon(":/image/logol.png"));//生成窗口图标


}

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

main.cpp

复制代码
#include "mainwindow.h"
#include <QApplication>
#include "login.h"
#include "ui_login.h"


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
//    MainWindow w;
//    w.show();
    login w;
    w.show();
    return a.exec();
}
相关推荐
星恒讯工业路由器22 分钟前
2G/3G网络退网趋势解读:对工业物联网设备的影响与应对策略
物联网·信息与通信·工业物联网·工业通信·5g redcap·2g3g退网·4g/5g升级
科莱特SAP1 小时前
精准匹配双向赋能:科莱特数智人才猎场重塑数字化人才服务模式
大数据·人工智能·物联网·人力资源·科莱特·科莱特人才服务
延凡科技11 小时前
工业锅炉智慧云管控平台解决方案|物联网远程监测、智能预警与能耗优化
物联网·远程控制·工业物联网·设备运维·智慧锅炉
数字新视界15 小时前
IT资产管理系统推动智能化运维与资源更优化管理
物联网·机房管理·蓄电池·动力与环境监控系统·机房动力环境监控
AimerMilet1 天前
物联网卡代理怎么做?需要什么资质?2026 年入行指南
物联网
longxingiot2 天前
物联网主机构建智慧校园新场景
物联网
RFID科技的魅力2 天前
2026年固定资产管理系统排名_主流方案选型参考
物联网·rfid·软件
河北品高电子安安2 天前
智慧井盖:物联网技术赋能城市地下管网安全监测
大数据·物联网·安全
hongmai6668882 天前
聊聊ESP32-C3-WROOM-02-N8这颗8MB Flash的RISC-V模组
笔记·嵌入式硬件·物联网·智能路由器·risc-v
芯岭技术3 天前
OM6625A芯片使用PY32 link烧录程序流程操作介绍
嵌入式硬件·物联网