QT学习day1(4.26作业)

实现qq登录界面的窗口

在这里插入图片描述
widget.h


#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QDebug>
#include <QMessageBox>
#include <QPushButton>//按钮
#include <QLabel>//标签
#include <QLineEdit>//文本框


QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private:
    Ui::Widget *ui;
    QLabel *lable_icon;//图标
    QLabel *lable_QQ;//QQ文字
    QLabel *lable_up;//上半部分

    QLabel *lable_id;//qq id图标
    QLabel *lable_pass;//qq 密码图标

    QLineEdit *line_id;//id文本框
    QLineEdit *line_pass;//密码文本框

    QPushButton *button_login;//登录按钮
    QPushButton *button_close;//右上角关闭按钮



private slots:
    void slot_login();
    void slot_close();

};

#endif // WIDGET_H

widget.cpp


#include "widget.h"
#include "ui_widget.h"


Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //主窗口
    this->setFixedSize(430,330);//设置主窗口的固定尺寸
    this->setWindowFlags(Qt::FramelessWindowHint);
    this->setStyleSheet("background-color:white");
    //上面分区
    lable_up=new QLabel(this);
    lable_up->resize(this->width(),130);
    lable_up->setStyleSheet("background-color:skyblue");//设置背景色为天蓝色

    //企鹅图标
    lable_icon=new QLabel(lable_up);
    lable_icon->setScaledContents(true);//设置内容自适应
    lable_icon->setPixmap(QPixmap(":./icon/icon.png"));
    lable_icon->resize(30,30);
    lable_icon->move(8,8);

    //QQ文字
    lable_QQ=new QLabel(lable_up);
    lable_QQ->setText("QQ");
    QFont ft;
    ft.setPointSize(14);
    lable_QQ->setStyleSheet("color:white");
    lable_QQ->setFont(ft);
    lable_QQ->resize(30,40);
    lable_QQ->move(38,0);
    lable_QQ->setAlignment(Qt::AlignVCenter);


    //QQid 图标
    lable_id =new QLabel(this);
    lable_id->setScaledContents(true);
    lable_id->setPixmap(QPixmap(":./icon/QQ.png"));
    lable_id->resize(20,20);
    lable_id->move(100,170);

    //QQ 密码图标
    lable_pass=new QLabel(this);
    lable_pass->setScaledContents(true);
    lable_pass->setPixmap(QPixmap(":./icon/sock.png"));
    lable_pass->resize(20,20);
    lable_pass->move(100,200);

    //qq id文本框
    line_id=new QLineEdit(this);
    line_id->resize(150,20);
    line_id->move(lable_id->x()+lable_id->width()+10,lable_id->y());

    //qq 密码文本框
    line_pass=new QLineEdit(this);
    line_pass->resize(150,20);
    line_pass->move(lable_pass->x()+lable_pass->width()+10,lable_pass->y());
    line_pass->setEchoMode(QLineEdit::Password);

    //qq 登录按钮
    button_login=new QPushButton(this);
    button_login->resize(200,40);
    button_login->move(lable_pass->x(),lable_pass->y()+50);
    button_login->setText("登录");
    button_login->setStyleSheet("background-color:skyblue;color:white");
    connect(button_login,&QPushButton::clicked,this,&Widget::slot_login);

    //qq 右上角关闭按钮
    button_close=new QPushButton(this);
    button_close->resize(20,20);
    button_close->move(this->width()-20,0);
    button_close->setIcon(QIcon(":./icon/x.png"));
    connect(this->button_close,&QPushButton::clicked,this,&Widget::slot_close);//关闭窗口

}

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

void Widget::slot_login()
{

    QString id=lable_id->text();
    QString pass=lable_pass->text();
    if(id!="admin" && pass!="123456")
    {
        QMessageBox::information(NULL, "错误", "密码输入错误,请重新输入");
        //qDebug()<<"密码输入错误,请重新输入";
        this->line_pass->clear();

    }
}
void Widget::slot_close()
{
    this->close();
}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值