使用QT编写一个简单QQ登录界面

widget.cpp

cpp 复制代码
#include "widget.h"
#include "ui_widget.h"

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

    //设置窗口标题
    this->setWindowTitle("QQ");
    //设置窗口图标
    this->setWindowIcon(QIcon(":/pictrue/QQ123.png"));
    QMovie *mv=new QMovie(":/pictrue/plane.gif"); //创建一个动图
    ui->label->setMovie(mv); //将动图插入标签
    mv->start(); //启动动图
    ui->label->setScaledContents(true); //让动图自适应标签大小
    ui->userLabel->setPixmap(QPixmap(":/pictrue/user.png")); //设置标签显示图片
    ui->userLabel->setScaledContents(true); //让图片自适应标签大小
    ui->passwdLabel->setPixmap(QPixmap(":/pictrue/passwd.jpg"));//设置标签显示图片
    ui->passwdLabel->setScaledContents(true); //让图片自适应标签大小
    ui->passwdEdit->setEchoMode(QLineEdit::Password); //设置行编辑器显示模式为Password

}

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


//登录按钮的槽函数实现
void Widget::on_loginBtn_clicked()
{

    if(ui->userEdit->text().isEmpty() || ui->passwdEdit->text().isEmpty())
    {
         QMessageBox::information(this,"登录","请将登录信息填写完整!");
         return;
    }

    /*账号密码匹配*/
    if(ui->userEdit->text()=="admin" && ui->passwdEdit->text()=="123456")
    {
        QMessageBox::information(this,"登录","登录成功");
        emit this->loginSuccess_signal(); //触发登录成功信号
        this->close(); //退出窗口
    }
    else/*账号密码不匹配*/
    {
        QMessageBox msg(QMessageBox::Critical,"登录","账号和密码不匹配,是否重新登录",
                        QMessageBox::Yes|QMessageBox::No,this );

        int ret= msg.exec(); //调用exec弹出对话框
        /*判断用户选中的按钮*/
        if(ret==QMessageBox::Yes)
        {
            ui->passwdEdit->setText(""); //将密码文本清空
        }else if(ret==QMessageBox::No)
        {
            this->close(); //退出窗口
        }
    }

}
相关推荐
盛者无名5 分钟前
Rust语言基础
开发语言·后端·rust
wangkay889 分钟前
【Java 转运营】Day03:抖音直播间自然流运营
java·开发语言·新媒体运营
萌新小白YXY10 分钟前
imc DEVICES raw数组转Matlab mat数据
开发语言·matlab
韩曙亮20 分钟前
【Web APIs】浏览器本地存储 ② ( window.sessionStorage 本地存储常用 API 简介 | 代码示例 )
开发语言·前端·javascript·localstorage·sessionstorage·web apis·浏览器本地存储
郑州光合科技余经理20 分钟前
私有化B2B订货系统实战:核心模块设计与代码实现
java·大数据·开发语言·后端·架构·前端框架·php
chillxiaohan23 分钟前
GO学习踩坑记录
开发语言·学习·golang
2301_7644413330 分钟前
python实现罗斯勒吸引子(Rössler Attractor)
开发语言·数据结构·python·算法·信息可视化
探序基因32 分钟前
R语言-使用pheatmap函数画热图
开发语言·r语言
-凌凌漆-34 分钟前
【JS】var与let的区别
开发语言·前端·javascript
ExiFengs37 分钟前
Java使用策略模式实现多实体通用操作的优雅设计
java·开发语言·设计模式·策略模式