使用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(); //退出窗口
        }
    }

}
相关推荐
Henry Zhu1233 分钟前
Qt 元对象系统源码级理解
qt
程序员二叉8 分钟前
【JUC】AQS底层深度拆解|独占/共享模式|队列原理全详解
java·开发语言·面试·juc
踏着七彩祥云的小丑9 分钟前
Go 学习第6天:结构体 + 切片 + range遍历
开发语言·学习·golang·go
读书札记202212 分钟前
Qt中windeployqt.exe工具的使用:解决使用CMake创建的项目点击exe文件后系统提示0xc000007b的问题
开发语言·qt
xiaoshuaishuai824 分钟前
C# 定制化Markdown编辑器
开发语言·c#·编辑器
DogDaoDao25 分钟前
C++核心技术深度剖析:从底层原理到工程实践
开发语言·c++·面试·程序员·指针·虚函数
磊 子29 分钟前
C++移动语义和智能指针
java·开发语言·c++
不负岁月无痕32 分钟前
C++继承与多态知识点及其高频面试问题
开发语言·c++·面试
June`35 分钟前
如何组织一个并行程序
开发语言·cuda
dtq04241 小时前
C语言刷题函数1-判断素数(分支语句,函数两种方法)
c语言·开发语言·学习