Qt --- Day01

效果图:

头像的圆形未实现

单击登陆,触发信号与槽

enter_widget.h

#ifndef ENTER_H
#define ENTER_H

#include <QDialog>
#include<QLabel>
#include<QTimer>
class enter_widget : public QDialog
{
    Q_OBJECT
public:
    explicit enter_widget(QDialog *parent = nullptr);
private:
    QLabel *label;
    QTimer * time;

signals:

};

#endif // ENTER_H

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>  //基类QWidget的头文件
#include<QDebug>   //信息调试类,用于输出数据使用
#include<QIcon>
#include<QPushButton>
#include<QLabel>
#include<QLineEdit>
#include<QPixmap>
#include"enter_widget.h"
class Widget : public QWidget
{
    Q_OBJECT   //QT的信号与槽元对象

public:
    Widget(QWidget *parent = nullptr);//默认参数构造函数声明
    ~Widget();//虚析构声明
private:
    QLabel *pic;

    QLabel *tx;

    QPushButton* enter;
    QPushButton* login;

    QLabel* user;
    QLabel* passwd;

    QLineEdit* user_l;
    QLineEdit* passwd_l;

    enter_widget* en;
};
#endif // WIDGET_H

enter_widget.cpp

#include "enter_widget.h"

enter_widget::enter_widget(QDialog *parent) : QDialog(parent)
{
    this->setWindowFlag(Qt::FramelessWindowHint);
    this->setFixedSize(200,50);
    this->setStyleSheet("border:1 solid black");
    label = new QLabel(this);
    label->resize(200,50);
    label->setText("登录成功");
    label->setAlignment(Qt::AlignCenter);
    label->setStyleSheet("border:0px solid black");
    time = new QTimer(this);
    time->start(3000);
    connect(time,&QTimer::timeout,this,&QDialog::close);
}

widget.cpp

#include "widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{

    qDebug()<<this->size();   //获取当前姐买你的尺寸
    qDebug()<<this->width();  //获取当前组件的宽度
    qDebug()<<this->height(); //获取当前组件的高度
    this->setWindowTitle("QQ");
    //this->resize(500,400);//重新设置界面大小
    //this->resize(QSize(1000,1000));
    this->setFixedSize(500,400);//设置固定的界面大小
    //this->setMaximumSize(600,700);//最大界面大小
    //this->setMinimumSize(200,300);//最小界面大小
    this->setWindowIcon(QIcon("C:\\Users\\12609\\Downloads\\qq.png"));




    pic = new QLabel(this);
    pic->resize(this->width(),130);
    pic->setPixmap(QPixmap("E:\\C++\\qt\\fm.png"));
    pic->setScaledContents(true);


    tx = new QLabel(this);

    tx->resize(100,100);
    tx->move(200,60);
    tx->setPixmap(QPixmap("E:\\C++\\qt\\2.jpg"));
    tx->setScaledContents(true);


    enter = new QPushButton;
    enter->setParent(this);
    enter->setText("登录");
    enter->resize(100,50);
    enter->move(120,300);
    enter->setIcon(QIcon("C:\\Users\\12609\\Downloads\\enter.png"));
    enter->setStyleSheet("border:0px solid black;border-radius:10;background-color:#FFFFFF");

    login = new QPushButton;
    login->setParent(this);
    login->setText("注册");
    login->resize(100,50);
    login->move(280,300);
    login->setIcon(QIcon("C:\\Users\\12609\\Downloads\\enter.png"));
    login->setStyleSheet("border:0px solid black;border-radius:10;background-color:#FFFFFF");

    user = new QLabel;
    user->setParent(this);
    user->setText("用户名:");
    user->resize(60,30);
    user->setAlignment(Qt::AlignCenter);
    //user->setFixedSize(50,20);
    user->move(enter->x(),enter->y()-120);

    passwd = new QLabel(this);
    passwd->setText("密 码:");
    passwd->resize(60,30);
    passwd->setAlignment(Qt::AlignCenter);
    //user->setFixedSize(50,20);
    passwd->move(enter->x(),enter->y()-60);


    user_l = new QLineEdit(this);
    user_l->resize(200,30);
    user_l->move(user->x()+60,user->y());
    user_l->setPlaceholderText("请输入用户名");
    user_l->setStyleSheet("border:0px solid black;border-radius:10;background-color:#bfbfbf");


    passwd_l= new QLineEdit(this);
    passwd_l->resize(200,30);
    passwd_l->move(passwd->x()+60,passwd->y());
    passwd_l->setPlaceholderText("请输入密码");
    passwd_l->setEchoMode(QLineEdit::Password);
    passwd_l->setStyleSheet("border:0px solid black;border-radius:10;background-color:#bfbfbf");

    //切换界面
    en = new enter_widget;
    connect(enter,&QPushButton::clicked,en,&enter_widget::exec);
}
Widget::~Widget()
{
}

main.cpp

#include "widget.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);//实例化一个应用程序类对象
    Widget w;//实例化一个自定义的图形化界面类对象
    w.show();//由基类提供用于展示自己的组件和子组件
    return a.exec();//阻塞等待用户操作、信号与槽等事件发生
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值